跨平台的并行库 OpenMP, pthread(POsix),BOOST,thread,Intel TBB 等并行库
发布日期:2021-07-21 18:10:32 浏览次数:2 分类:技术文章

本文共 1586 字,大约阅读时间需要 5 分钟。

http://xiaoxia.org/2011/11/23/multi-threading-programing-openmp-computing-first-lession/    (写得非常好

   (vs2008中的初始配置)

  (写得非常好)

 

一些网址介绍pthread的

http://xiaoxia.org/2011/11/23/multi-threading-programing-openmp-computing-first-lession/   (很好)

http://leven.co/blog/view/19

http://www.metsky.com/archives/550.html

http://blog.csdn.net/sunboy_2050/article/details/5921003
http://my.oschina.net/michaelyuanyuan/blog/71500

使用pthread的好处在于对于跨平台的程序,无需重写线程部分。目前跨平台的线程库还有,Boost.Thread, Intel TBB里的线程类(与Boost.Thread接口几乎相同),ACE里的活动对象类,ICE里的线程类。

PMVS源码在多线程使用pthread,这个库一般用于linux下,要在win7 64bit下使用也挺简单:

 

1. 下载pthreads-w32-2-8-0-release.exe

下载地址:

 

2. 安装pthreads-w32-2-8-0-release.exe

双击pthreads-w32-2-8-0-release.exe,点击Browse选择安装到的目录,然后点击Extract解压,完成后点击Done。

之后会在安装目录看到有三个文件夹Pre-built.2、pthreads.2、QueueUserAPCEx. 第一个是生成库(头文件和库文件那些),第二个是源码,第三个不清楚,像是测试程序。

将Pre-built.2文件夹下的include和lib文件夹里的文件复制到VS2008对应的include和lib目录,例如C:\Program Files(X86)\Microsoft Visual Studio 9.0\VC\include和C:\Program Files(X86)\Microsoft VisualStudio 9.0\VC\lib.

 

3. 编写测试程序

#include
#include
#include
#pragma comment(lib, "pthreadVC2.lib") //必须加上这句void*Function_t(void* Param){ pthread_t myid = pthread_self(); while(1) { printf("线程ID=%d \n", myid); Sleep(4000); } return NULL;}int main(){ pthread_t pid; pthread_create(&pid, NULL, Function_t,NULL); while (1) { printf("in fatherprocess!\n"); Sleep(2000); } getchar(); return 1;}

运行过程中出现缺少“pthreadVC2.dll”,这时候需要将.lib中对应的文件拷贝到windows的系统文件夹下,对于64bit,拷贝位置为“C:\Windows\SysWOW64”

转载地址:https://blog.csdn.net/lsg32/article/details/8866819 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:进程与线程的一个简单解释
下一篇:PPL 和AMP并行编程

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月04日 08时30分17秒