Seg3D  2.4
Seg3D is a free volume segmentation and processing tool developed by the NIH Center for Integrative Biomedical Computing at the University of Utah Scientific Computing and Imaging (SCI) Institute.
All Classes Namespaces Functions Variables Typedefs Enumerator Friends
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
the_thread_pool_t Class Reference
Inheritance diagram for the_thread_pool_t:
the_transaction_handler_t

Public Member Functions

 the_thread_pool_t (unsigned int num_threads)
 
void start ()
 
void set_idle_sleep_duration (bool enable, unsigned int microseconds=10000)
 
virtual void push_front (the_transaction_t *transaction, bool multithreaded=false)
 
virtual void push_back (the_transaction_t *transaction, bool multithreaded=false)
 
virtual void push_back (std::list< the_transaction_t * > &schedule, bool multithreaded=false)
 
void pre_distribute_work ()
 
bool has_work () const
 
virtual void start (the_transaction_t *transaction, bool multithreaded=false)
 
void stop ()
 
void wait ()
 
void flush ()
 
void terminate_transactions ()
 
void stop_and_go (the_transaction_t *transaction, bool multithreaded=false)
 
void stop_and_go (std::list< the_transaction_t * > &schedule, bool multithreaded=false)
 
void flush_and_go (the_transaction_t *transaction, bool multithreaded=false)
 
void flush_and_go (std::list< the_transaction_t * > &schedule, bool multithreaded=false)
 
void handle (the_transaction_t *transaction, the_transaction_t::state_t s)
 
void blab (const char *message) const
 
the_mutex_interface_tmutex ()
 
const unsigned int & pool_size () const
 

Protected Member Functions

virtual void handle_thread (the_thread_pool_data_t *data)
 
the_thread_interface_tthread (unsigned int id) const
 
void no_lock_flush ()
 
void no_lock_terminate_transactions ()
 
void no_lock_push_front (the_transaction_t *transaction, bool multithreaded)
 
void no_lock_push_back (the_transaction_t *transaction, bool multithreaded)
 
void no_lock_push_back (std::list< the_transaction_t * > &schedule, bool mt)
 

Protected Attributes

the_mutex_interface_tmutex_
 
the_thread_pool_data_tpool_
 
unsigned int pool_size_
 
std::list< unsigned int > busy_
 
std::list< unsigned int > idle_
 
std::list< the_transaction_t * > transactions_
 

Friends

class the_thread_interface_t
 

The documentation for this class was generated from the following files: