sc_ThreadGrp - Man Page

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::ProcThreadGrp, and sc::PthreadThreadGrp.

virtual Ref< ThreadLock > sc::ThreadGrp::new_lock () [pure virtual]

Return a local object.

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

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::ProcThreadGrp, sc::PthreadThreadGrp, and sc::PumaThreadGrp.

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::ProcThreadGrp, sc::PthreadThreadGrp, and sc::PumaThreadGrp.

Author

Generated automatically by Doxygen for MPQC from the source code.

Info

Version 2.3.1 MPQC