UniSet  2.6.0
Открытые типы | Открытые члены | Защищенные члены | Полный список членов класса
Шаблон класса uniset::ThreadCreator< ThreadMaster >
Граф наследования:uniset::ThreadCreator< ThreadMaster >:
Inheritance graph
[см. легенду]
Граф связей класса uniset::ThreadCreator< ThreadMaster >:
Collaboration graph
[см. легенду]

Открытые типы

typedef void(ThreadMaster::* Action )(void)
 

Открытые члены

 ThreadCreator (ThreadMaster *m, Action a)
 
Poco::Thread::TID getTID () const
 
void setPriority (Poco::Thread::Priority prior)
 
Poco::Thread::Priority getPriority () const
 
void stop ()
 
void start ()
 
void sleep (long milliseconds)
 
bool isRunning ()
 
void join ()
 
void setFinalAction (ThreadMaster *m, Action a)
 
void setInitialAction (ThreadMaster *m, Action a)
 

Защищенные члены

virtual void run ()
 
virtual void final ()
 
virtual void initial ()
 
virtual void terminate ()
 

Подробное описание

template<class ThreadMaster>
class uniset::ThreadCreator< ThreadMaster >

Шаблон для создания потоков с указанием функции вызова. Пример использования:

class MyClass
{
public:
MyClass();
~MyClass();
execute();
protected:
void thread();
private:
ThreadCreator<MyClass>* thr;
};
MyClass::MyClass()
{
thr = new ThreadCreator<MyClass>(this, &MyClass::thread);
}
MyClass::~MyClass()
{
delete thr;
}
void MyClass::thread()
{
while(active)
{
//что-то делать
}
}
void MyClass::execute()
{
// создаем поток
thr->start();
// делаем что-то еще
}
main()
{
MyClass* mc = new MyClass();
mc->execute();
}

Определения типов

template<class ThreadMaster>
typedef void(ThreadMaster::* uniset::ThreadCreator< ThreadMaster >::Action)(void)

прототип функции вызова use std::function ?

Методы

template<class ThreadMaster >
Poco::Thread::Priority uniset::ThreadCreator< ThreadMaster >::getPriority ( ) const
Возвращает
< 0 - fail
template<class ThreadMaster >
void uniset::ThreadCreator< ThreadMaster >::setPriority ( Poco::Thread::Priority  prior)
Возвращает
0 - sucess