Windows C++:
所需头文件
#include <windows.h>
#include <process.h>
开启一个线程:
hReader = (HANDLE)_beginthreadex(NULL, 0, startReader, this, 0, NULL);
其中,hReader为线程的句柄,
startReader为相应类中的友员函数,必须为外部函数,通过传参(this)来调用类中成员函数,函数声明为
unsigned __stdcall startReader(void* p);
结束一个线程:
TerminateThread(hReader, NULL);
-----------------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------------------------------
Linux C++:
所需头文件:
#include <pthread.h>
#include <sys/types.h>
#include <unistd.h>
开启一个线程:
pthread_create(&rc, NULL, StartReceiver, this);
其中,rc为线程描述符,为int型,StartReceiver与Windows下的类似,不过函数声明有些不同,如下:
void* StartReceiver(void *pVoid);
结束一个线程:
pthread_detach(rc); // 释放资源
pthread_cancel(rc);