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 Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
the_thread_interface_t Class Referenceabstract
Inheritance diagram for the_thread_interface_t:
the_transaction_handler_t the_boost_thread_t

Public Types

typedef the_thread_interface_t *(* creator_t) ()
 

Public Member Functions

virtual void delete_this ()=0
 
 the_thread_interface_t (the_mutex_interface_t *mutex=NULL)
 
const unsigned int & id () const
 
virtual void start ()=0
 
virtual void wait ()=0
 
virtual void take_a_nap (const unsigned long &microseconds)=0
 
virtual the_terminators_tterminators ()=0
 
void set_mutex (the_mutex_interface_t *mutex)
 
void set_idle_sleep_duration (bool enable, unsigned int microseconds=10000)
 
void add_transaction (the_transaction_t *transaction)
 
void push_back (the_transaction_t *transaction)
 
void push_front (the_transaction_t *transaction)
 
void push_back (std::list< the_transaction_t * > &schedule)
 
bool has_work () const
 
void start (the_transaction_t *transaction)
 
void stop ()
 
const bool & stopped () const
 
void set_stopped (bool stopped)
 
void flush ()
 
void terminate_transactions ()
 
void stop_and_go (the_transaction_t *transaction)
 
void stop_and_go (std::list< the_transaction_t * > &schedule)
 
void flush_and_go (the_transaction_t *transaction)
 
void flush_and_go (std::list< the_transaction_t * > &schedule)
 
virtual bool work ()
 
void handle (the_transaction_t *transaction, the_transaction_t::state_t s)
 
void blab (const char *message) const
 
void set_thread_pool_cb (the_thread_pool_t *pool, the_thread_pool_data_t *cb_data)
 
the_mutex_interface_tmutex ()
 

Static Public Member Functions

static void set_creator (creator_t creator)
 
static the_thread_interface_tcreate ()
 

Protected Attributes

unsigned int id_
 
the_mutex_interface_tmutex_
 
bool stopped_
 
bool sleep_when_idle_
 
unsigned int sleep_microsec_
 
the_transaction_tactive_transaction_
 
std::list< the_transaction_t * > transactions_
 
the_thread_pool_tthread_pool_
 
the_thread_pool_data_tthread_pool_cb_data_
 

Static Protected Attributes

static creator_t creator_ = NULL
 

Friends

class the_thread_pool_t
 

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