![]() |
CMGDK r49-rc2
|
线程类 更多...
#include <Thread.H>
公有成员 | |
DefEvent (bool, OnStartThread,(Thread *)) | |
线程运行起始事件,返回false则会中止线程 | |
DefEvent (void, OnEndThread,(Thread *)) | |
线程运行结束事件 | |
Thread () | |
virtual | ~Thread () |
virtual bool | Execute ()=0 |
线程的运行函数 | |
virtual bool | Start () |
开始运行当前线程 | |
virtual void | Close () |
关闭当前线程 | |
virtual bool | IsCurThread () |
是否是当前线程 | |
virtual void | Wait (double time=0) |
等待当前线程 | |
保护属性 | |
void * | threadptr |
友元 | |
void | WaitThread (Thread **, int, double) |
等待多个线程中的一个完成 |
线程类
线程类.本类用于建立一个线程并管理它。
Sleep和Exit函数是给线程内的程序使用的;而Start,Close,Pause,Rewind是给线程外的程序使用的。
使用本类只需要重载本类,并将代码写在Execute函数内即可。
Thread::Thread | ( | ) |
Thread::~Thread | ( | ) | [virtual] |
void hgl::Thread::Close | ( | ) | [virtual] |
关闭当前线程
(线程外部调用)关闭当前线程.不推荐使用此函数,正在执行的线程被强制关闭会引起无法预知的错误。
hgl::Thread::DefEvent | ( | bool | , |
OnStartThread | , | ||
(Thread *) | |||
) |
线程运行起始事件,返回false则会中止线程
hgl::Thread::DefEvent | ( | void | , |
OnEndThread | , | ||
(Thread *) | |||
) |
线程运行结束事件
virtual bool hgl::Thread::Execute | ( | ) | [pure virtual] |
线程的运行函数
线程执行函数
会被反复调用
在hgl::Loader、hgl::network::MTBAcceptThread、hgl::network::TCPAcceptThread、hgl::network::TCPClientRecv、hgl::network::TCPClientSend及hgl::MovieDecode内被实现。
bool hgl::Thread::IsCurThread | ( | ) | [virtual] |
是否是当前线程
bool hgl::Thread::Start | ( | ) | [virtual] |
开始运行当前线程
(线程外部调用)执行当前线程,线程优先级为tplevel
tplevel | 线程优先级 |
void hgl::Thread::Wait | ( | double | time = 0 | ) | [virtual] |
等待当前线程
(线程外部调用)等待当前线程
time | 等待的时间,如果为0表示等到线程运行结束为止。默认为0 |
强制当前线程放弃处理器 (线程外部调用)等待当前线程
time | 等待的时间,如果为0表示等到线程运行结束为止。默认为0 |
等待多个线程中的一个完成
等待多个线程中的一个完成
mt | 线程 |
count | 线程数量 |
time | 等待的时间,如果为0表示等到线程运行结束为止。默认为0 |
void* hgl::Thread::threadptr [protected] |