logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1                                    Sun Oct 4 2020                                 sc::ThreadGrp(3)

Detailed Description

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

Member Function Documentation

virtualvoidsc::ThreadGrp::add_thread(intthreadnum,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().

   virtualvoidsc::ThreadGrp::add_thread(intthreadnum,Thread*thread,intpriority)[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.

   virtualThreadGrp*sc::ThreadGrp::clone(intnthread=-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::ProcThreadGrp, and sc::PthreadThreadGrp.

   virtualintsc::ThreadGrp::start_threads()[purevirtual]
       Starts the threads running. Thread 0 will be run by the thread that calls start_threads.

       Implemented in sc::ProcThreadGrp, sc::PthreadThreadGrp, and sc::PumaThreadGrp.

   virtualintsc::ThreadGrp::wait_threads()[purevirtual]
       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::ProcThreadGrp, sc::PthreadThreadGrp, and sc::PumaThreadGrp.

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.

   PublicMemberFunctionsThreadGrp (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.

   StaticPublicMemberFunctions
       static void set_default_threadgrp (const Ref< ThreadGrp > &)
       static ThreadGrp * get_default_threadgrp ()
       static ThreadGrp * initial_threadgrp (int &argc, char **argv)

   ProtectedAttributesThread ** threads_
       int nthread_AdditionalInheritedMembers

See Also