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