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