Windows C++多线程与Linux C++多线程编程

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);                   

                 

你可能感兴趣的:(多线程,编程,C++,windows,linux,null)