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

NAME
     sc::PthreadThreadGrp  -  The  PthreadThreadGrp  class  privides  a concrete
     thread group appropriate for an environment where pthreads is available.

SYNOPSIS
     #include <thpthd.h>

     Inherits sc::ThreadGrp.

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

     Public Member Functions inherited from sc::ThreadGrp
     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.

   Additional Inherited Members
     Static Public Member Functions inherited from sc::ThreadGrp
     static void set_default_threadgrp (const Ref< ThreadGrp > &)
     static ThreadGrp * get_default_threadgrp ()
     static ThreadGrp * initial_threadgrp (int &argc, char **argv)

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

     Protected Attributes inherited from sc::ThreadGrp
     Thread ** threads_
     int nthread_

Detailed Description
     The PthreadThreadGrp class privides a concrete thread group appropriate for
     an environment where pthreads is available.

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

     Reimplemented from sc::ThreadGrp.

     References sc::ThreadGrp::add_thread().

   void  sc::PthreadThreadGrp::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 argu-
     ment is currently not well defined and ignored.

     Reimplemented from sc::ThreadGrp.

   ThreadGrp * sc::PthreadThreadGrp::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 from sc::ThreadGrp.

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

     Implements sc::ThreadGrp.

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

     Implements sc::ThreadGrp.

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

     Implements sc::ThreadGrp.

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

Version 2.3.1			 Thu Sep 3 2026 	 sc::PthreadThreadGrp(3)

home | help