sc::PthreadThreadGrp Class Reference

The PthreadThreadGrp class privides a concrete thread group appropriate for an environment where pthreads is available. More...

#include <thpthd.h>

Inheritance diagram for sc::PthreadThreadGrp:

sc::ThreadGrp sc::DescribedClass sc::RefCount sc::Identity List of all members.

Public Member Functions

 PthreadThreadGrp (const PthreadThreadGrp &, int nthread=-1)
 PthreadThreadGrp (const Ref< KeyVal > &)
int start_threads ()
 Starts the threads running.
int wait_threads ()
 Wait for all the threads to complete.
void add_thread (int i, Thread *t)
 Assigns a Thread object to each thread.
void add_thread (int i, Thread *t, int priority)
 Like add_thread(threadnum, thread), but assign a priority that the thread is to use.
Ref< ThreadLocknew_lock ()
 Return a local object.
ThreadGrpclone (int nthread=-1)
 Create a ThreadGrp like the current one.

Detailed Description

The PthreadThreadGrp class privides a concrete thread group appropriate for an environment where pthreads is available.


Member Function Documentation

int sc::PthreadThreadGrp::start_threads (  )  [virtual]

Starts the threads running.

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

Implements sc::ThreadGrp.

int sc::PthreadThreadGrp::wait_threads (  )  [virtual]

Wait for all the threads to complete.

This must be called before start_threads is called again or the object is destroyed.

Implements sc::ThreadGrp.

void sc::PthreadThreadGrp::add_thread ( int  threadnum,
Thread thread 
) [inline, virtual]

Assigns a Thread object to each thread.

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

Reimplemented from sc::ThreadGrp.

void sc::PthreadThreadGrp::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 from sc::ThreadGrp.

ThreadGrp* sc::PthreadThreadGrp::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 from sc::ThreadGrp.


The documentation for this class was generated from the following file:
Generated at Mon Dec 3 23:24:00 2007 for MPQC 2.3.1 using the documentation package Doxygen 1.5.2.