《VS配置pthread多线程库》

POSIX标准包含了一系列用于多线程编程的API(pthread),除了win32之外,许多现代的操作系统都渐渐开始支持pthread。

我的配置:windows10+VS2010

一、下载pthread多线程库

1、pthread多线程库下载地址:ftp://sourceware.org/pub/pthreads-win32

里面有三种格式提供下载,exe、tag.gz、zip,选择一个较新的版本下载

《VS配置pthread多线程库》_第1张图片

2、这里我选择下载了一个zip的,下载完之后,进入到下载文件夹,将压缩包进行解压,会出现三个文件夹,Pre-built.2里面有2个文件夹使我们等下要用到的,包含文件include和库文件lib。

《VS配置pthread多线程库》_第2张图片

二、VS2010配置pthread多线程库

1、添加包含目录
新建一个空的C++工程项目项目-> 属性-> 配置属性-> VC++目录-> 包含目录添加Pre-built.2里面的包含文件include文件
《VS配置pthread多线程库》_第3张图片
2、添加库目录

项目->属性->配置属性->VC++目录->库目录,添加Pre-built.2里面的库文件lib文件

《VS配置pthread多线程库》_第4张图片

3、添加附加依赖项

项目->属性->配置属性->链接器->输入->附加依赖项,添加Pre-built.2里面的库文件lib文件夹里的.lib文件(x86),最好是把路径也加上,不然可能会出现找xxx.lib这种情况,点击应用和确认,到这里就配置完了。


《VS配置pthread多线程库》_第5张图片

三、多线程测试代码

#include 
//< 必须的头文件
#include "pthread.h" 

using namespace std;

#define NUM_THREADS 5

//< 线程的运行函数
void* say_hello(void* args)
{
	cout << "Hello Runoob!" << endl;
	return 0;
}

int main()
{
	//< 定义线程的 id 变量,多个变量使用数组
	pthread_t tids[NUM_THREADS];
	for(int i = 0; i < NUM_THREADS; ++i)
	{
		//<参数依次是:创建的线程id,线程参数,调用的函数,传入的函数参数
		int ret = pthread_create(&tids[i], NULL, say_hello, NULL);
		if (ret != 0)
		{
			cout << "pthread_create error: error_code=" << ret << endl;
		}
	}
	//<等各个线程退出后,进程才结束,否则进程强制结束了,线程可能还没反应过来;
	pthread_exit(NULL);
}

【输出结果】

《VS配置pthread多线程库》_第6张图片

《VS配置pthread多线程库》_第7张图片

你可能感兴趣的:(《C++学习笔记》)