vs2013中调用pthread
来源:互联网 发布:2017最新网络语言 编辑:程序博客网 时间:2024/06/13 18:26
POSIX Threads for Win32项目,专门为win32开发了一个pthread的lib,利用这个项目可以很方便的在win32下实现pthread的应用。
一,下载
POSIX Threads for Win32目前可以下载到的最新版本是2.9.1 ,
下载地址:ftp://sources.redhat.com/pub/pthreads-win32/pthreads-w32-2-9-1-release.zip
将下载到的exe解压之后,会得到三个目录:其中,Pre-built.2中是已经编译好的lib以及dll,同时包含了一些必要的头文件。
二 .配置
将其中的include文件夹和lib文件夹 copy到VC的安装目录下,例如,我的是vs2013的环境,默认安装,则,
需要copy到:C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
三.使用
在编程的时候,引入pthreadVC2.lib即可:
#pragma comment(lib, "pthreadVC2.lib")
调试个例子,(代码来自网络)
#include <stdio.h> #include <pthread.h> #include <assert.h> #pragma comment(lib, "pthreadVC2.lib")typedef struct _qsort_parm{ int *array; int low; int high; } qsort_parm_t;/*分段*/int partition(int *array, int low, int high){int pivot = *(array + low); //first elementwhile (low < high){while (low < high && array[high] >= pivot){high--;}*(array + low) = *(array + high);while (low < high && array[low] <= pivot){low++;}*(array + high) = *(array + low);}*(array + low) = pivot;return low;}/*线程执行函数*/void* quicksort_worker(void *parm){pthread_t corpid;qsort_parm_t *iparm = (qsort_parm_t *)parm;int keypos = 0;qsort_parm_t qparm;void *ret;if (iparm->low < iparm->high){/*分段*/keypos = partition(iparm->array, iparm->low, iparm->high);qparm.array = iparm->array;qparm.low = iparm->low;qparm.high = keypos - 1;/*创建子线程处理前半段*/pthread_create(&corpid, NULL, quicksort_worker, &qparm);iparm->low = keypos + 1;/*本线程处理后半段*/quicksort_worker(iparm);/*等待子线程结束*/pthread_join(corpid, &ret);}return NULL;}void* Function_t(void* Param){printf("我是线程! ");pthread_t myid = pthread_self();printf("线程ID=%d ", myid);return NULL;}void quicksort_multithread(int *pA, int low, int high){ qsort_parm_t qparm; qparm.array = pA; qparm.low = low; qparm.high = high; quicksort_worker(&qparm); }int main(void){ int array[20] = { 9, 8, 0, 1, 4, 7, 6, 2, 3, 5, 19, 11, 18, 16, 10, 22, 38, 45, 14, 21 }; int i = 0; quicksort_multithread(array, 0, 19); for (i = 0; i < 20; i++) { printf("%d ", array[i]); } getchar();return 0;}
0 0
- vs2013中调用pthread
- 基于VS2013配置pthread
- win32+VS2013下使用pthread
- win32+VS2013下使用pthread
- win32+VS2013下使用pthread
- vs2013在C++中调用Lua
- 在 VS2013 中调用 ffmpeg 库函数
- VS2013中C++简单调用Lua
- opencv2中vs2013配置保存和调用
- DLib中调用人脸对齐+VS2013
- MPI和PThread相互调用
- vs2013版本中 App_Code文件夹下类的调用问题
- VS2015中配置Pthread
- VS2015中配置Pthread
- win8/64bit/vs2013 下安装及使用Pthread
- vs2013调用matlab函数
- vs2013 调用大漠插件
- vs2013 c++调用lua
- 文件描述符资料----15-7-17
- [Material Design]使用Toolbar + DrawerLayout快速实现高大上菜单侧滑
- ios UIFont 字体大全
- 字符集学习研究笔记
- 字符串指针与字符数组的区别
- vs2013中调用pthread
- github 学习
- Android之路:Activity的学习
- HDU 3530 Subsequence
- MySQL客户端工具 SQLyog
- [Material Design]使用Palette类提取图片的颜色信息
- MIME编码介绍
- ArcGIS教程:最大似然法分类
- excel数据快速插入的sqlserver