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. 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)
- [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 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.
- 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.
Author
- Generated automatically by Doxygen for MPQC from the source code.