关于一些辅助库的thread(二)

thread库用起来还是比较简单、快捷的,只需要继承一下,就可以直接应用,个人感觉比较爽。

建立thread类,里面包括构造函数,virtual析构函数,构造函数主要是初始化一些数据,比如句柄和threadID,还有两个bool状态成员。

析构主要就是回收HANDLE.

然后是开始函数Start,里面主要应用_beginthreadEx,已经有一个文章里面专门介绍了一下他,可以看一下,主要和CreateThread不同的一是

参数,而是好像是一个tiddata结构体,数据存储。就是_beginthreadEx会分配tiddata结构保留像ID等等数据。

start函数里面会建立HANDLE如果成功,hThread和threadId就都可以被赋值了,如果失败直接返回FALSE。

Resume()函数,如果bSuspend标志是TRUE,把他改为FALSE,然后激活线程。

Suspend()函数,如果bSuspend标志是FALSE,把他改为TRUE,然后暂停线程。

Terminate()函数,无论线程是否在运行,直接改变bTerminte标志为TRUE.

WaitFor()函数,终止函数调用后,可能线程还未完成,如此再给他几秒钟,然后彻底终止线程。

还有几个辅助函数,如getID,Get句柄,Get。。。。

当然两个最主要的函数一个(实现/执行)函数,就是继承这个库,主要就是在这里运行线程操作。

另一个函数就是unsigned WINAPI ThreadProc(LPVOID lParam),里面涉及到自调用和激活执行函数,并且,如果执行函数结束后,可以自行关闭句柄。

暂时应用就这么多,如果有还可以再加!

你可能感兴趣的:(thread,线程,类)