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