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.
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_
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, 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 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.
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 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.