Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
sc::ThreadGrp(3)		     MPQC		      sc::ThreadGrp(3)

NAME
       sc::ThreadGrp - The ThreadGrp abstract class provides a means to	manage
       separate	threads	of control.

SYNOPSIS
       #include	<thread.h>

       Inherits	sc::DescribedClass.

       Inherited by sc::ProcThreadGrp, sc::PthreadThreadGrp, and
       sc::PumaThreadGrp.

   Public Member Functions
       ThreadGrp (const	Ref< KeyVal > &)
       ThreadGrp (const	ThreadGrp &, int nthread=-1)
       virtual void add_thread (int threadnum, Thread *thread)
	   Assigns a Thread object to each thread.
       virtual void add_thread (int threadnum, Thread *thread, int priority)
	   Like	add_thread(threadnum, thread), but assign a priority that the
	   thread is to	use.
       int nthread () const
	   The number of threads that will be run by start_thread.
       void delete_threads ()
       virtual int start_threads ()=0
	   Starts the threads running.
       virtual int wait_threads	()=0
	   Wait	for all	the threads to complete.
       virtual Ref< ThreadLock > new_lock ()=0
	   Return a local object.
       virtual ThreadGrp * clone (int nthread=-1)
	   Create a ThreadGrp like the current one.

       Public Member Functions inherited from sc::DescribedClass
       DescribedClass (const DescribedClass &)
       DescribedClass &	operator= (const DescribedClass	&)
       ClassDesc * class_desc () const	throw ()
	   This	returns	the unique pointer to the ClassDesc corresponding to
	   the given type_info object.
       const char * class_name () const
	   Return the name of the object's exact type.
       int class_version () const
	   Return the version of the class.
       virtual void print (std::ostream	&=ExEnv::out0()) const
	   Print the object.

       Public Member Functions inherited from sc::RefCount
       int lock_ptr () const
	   Lock	this object.
       int unlock_ptr () const
	   Unlock this object.
       void use_locks (bool inVal)
	   start and stop using	locks on this object
       refcount_t nreference ()	const
	   Return the reference	count.
       refcount_t reference ()
	   Increment the reference count and return the	new count.
       refcount_t dereference ()
	   Decrement the reference count and return the	new count.
       int managed () const
       void unmanage ()
	   Turn	off the	reference counting mechanism for this object.
       int managed () const
	   Return 1 if the object is managed. Otherwise	return 0.

       Public Member Functions inherited from sc::Identity
       Identifier identifier ()
	   Return the Identifier for this argument.

   Static Public Member	Functions
       static void set_default_threadgrp (const	Ref< ThreadGrp > &)
       static ThreadGrp	* get_default_threadgrp	()
       static ThreadGrp	* initial_threadgrp (int &argc,	char **argv)

   Protected Attributes
       Thread ** threads_
       int nthread_

   Additional Inherited	Members
       Protected Member	Functions inherited from sc::RefCount
       RefCount	(const RefCount	&)
       RefCount	& operator= (const RefCount &)

Detailed Description
       The ThreadGrp abstract class provides a means to	manage separate
       threads of control.

Member Function	Documentation
   virtual void	sc::ThreadGrp::add_thread (int threadnum, Thread * thread)
       [virtual]
       Assigns a Thread	object to each thread. If 0 is assigned	to a thread,
       then that thread	will be	skipped.

       Reimplemented in	sc::PthreadThreadGrp.

       Referenced by sc::PthreadThreadGrp::add_thread().

   virtual void	sc::ThreadGrp::add_thread (int threadnum, Thread * thread, int
       priority) [virtual]
       Like add_thread(threadnum, thread), but assign a	priority that the
       thread is to use. The member is primarily for experimentation, the
       priority	argument is currently not well defined and ignored.

       Reimplemented in	sc::PthreadThreadGrp.

   virtual ThreadGrp * sc::ThreadGrp::clone (int nthread = -1) [virtual]
       Create a	ThreadGrp like the current one.	If nthread is given, the new
       ThreadGrp will attempt to support that number of	threads, but the
       actual number supported may be less. If nthread is -1, the number of
       threads in the current group will be used.

       Reimplemented in	sc::PthreadThreadGrp, and sc::ProcThreadGrp.

   virtual Ref<	ThreadLock > sc::ThreadGrp::new_lock ()	[pure virtual]
       Return a	local object.

       Implemented in sc::PthreadThreadGrp, sc::PumaThreadGrp, and
       sc::ProcThreadGrp.

   virtual int sc::ThreadGrp::start_threads () [pure virtual]
       Starts the threads running. Thread 0 will be run	by the thread that
       calls start_threads.

       Implemented in sc::PthreadThreadGrp, sc::PumaThreadGrp, and
       sc::ProcThreadGrp.

   virtual int sc::ThreadGrp::wait_threads () [pure virtual]
       Wait for	all the	threads	to complete. This must be called before
       start_threads is	called again or	the object is destroyed.

       Implemented in sc::PthreadThreadGrp, sc::PumaThreadGrp, and
       sc::ProcThreadGrp.

Author
       Generated automatically by Doxygen for MPQC from	the source code.

Version	2.3.1			Tue May	13 2025		      sc::ThreadGrp(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sc_ThreadGrp&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help