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