Main Page   Class Hierarchy   Compound List   File List   Compound Members   Related Pages  

ThreadGrp Class Reference

The ThreadGrp abstract class provides a means to manage separate threads of control. More...

#include <thread.h>

Inheritance diagram for ThreadGrp

Inheritance graph
[legend]
Collaboration diagram for ThreadGrp:

Collaboration graph
[legend]
List of all members.

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<ThreadLocknew_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_

Detailed Description

The ThreadGrp abstract class provides a means to manage separate threads of control.


Member Function Documentation

void ThreadGrp::add_thread ( int,
Thread * )
 

Assigns a Thread object to each thread.

If 0 is assigned to a thread, then that thread will be skipped.

ThreadGrp * ThreadGrp::clone ( int nthread = -1 ) [virtual]
 

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.

int ThreadGrp::start_threads ( ) [pure virtual]
 

Starts the threads running.

Thread 0 will be run by the thread that calls start_threads.

Reimplemented in PthreadThreadGrp, PumaThreadGrp, and ProcThreadGrp.

int 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.

Reimplemented in PthreadThreadGrp, PumaThreadGrp, and ProcThreadGrp.


The documentation for this class was generated from the following file:
Generated at Thu Oct 4 18:10:03 2001 for MPQC 2.0.0 using the documentation package Doxygen 1.2.5.