您的位置:首页 > 运维架构 > Linux

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

2011-06-03 11:17 369 查看
http://blog.csdn.net/oyzdz1988/archive/2010/04/19/5503925.aspx

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: