#include <thread.h>
Inheritance diagram for ThreadGrp
Public Methods | |
ThreadGrp () | |
ThreadGrp (const Ref< KeyVal > &) | |
ThreadGrp (const ThreadGrp &, int nthread=-1) | |
virtual | ~ThreadGrp () |
void | add_thread (int, Thread *) |
Assigns a Thread object to each thread. More... | |
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. More... | |
virtual int | wait_threads ()=0 |
Wait for all the threads to complete. More... | |
virtual Ref<ThreadLock> | new_lock ()=0 |
Return a local object. | |
virtual ThreadGrp* | clone (int nthread=-1) |
Create a ThreadGrp like the current one. More... | |
Static Public Methods | |
void | set_default_threadgrp (const Ref< ThreadGrp > &) |
ThreadGrp* | get_default_threadgrp () |
ThreadGrp* | initial_threadgrp (int &argc, char **argv) |
Protected Attributes | |
Thread** | threads_ |
int | nthread_ |
|
Assigns a Thread object to each thread. If 0 is assigned to a thread, then that thread will be skipped. |
|
Create a ThreadGrp like the current one. If nthread is given it will be the number of threads in the new group. If nthread is -1, the number of threads in the current group will be used. If cloning is not supported 0 will be returned. Reimplemented in PthreadThreadGrp. |
|
Starts the threads running. Thread 0 will be run by the thread that calls start_threads. Reimplemented in PthreadThreadGrp, PumaThreadGrp, and ProcThreadGrp. |
|
Wait for all the threads to complete. This must be called before start_threads is called again or the object is destroyed. Reimplemented in PthreadThreadGrp, PumaThreadGrp, and ProcThreadGrp. |