VC2012下使用pthread_create进行多线程编程
2022/6/26 1:20:36
本文主要是介绍VC2012下使用pthread_create进行多线程编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
linux下的线程编程涉及到了pthread_create,但是在平常周末家中练习使用,不想打开虚拟机,也不太想使用boost库带的多线程。这个时候就得在vc2012下使用pthread的了。。
搭建的步骤如下:
(1)下载pthreads-w32-2-9-1-release.zip文件
(2)项目属性=》=》vc++目录=》包含目录=》;添加 pthreads-w32-2-9-1-release\Pre-built.2\include
(3)项目属性=》=》vc++目录=》库目录=》;添加 pthreads-w32-2-9-1-release\Pre-built.2\lib\x64
(4)项目属性=》=》链接器=》输入=》附加依赖项=》;添加pthreadVC2.lib
(5)然后网上找了些多线程的代码,编译之后,先时报 "timespec”;”struct”类型重定义:
解决方法如下:
在pthread.h在第35行加入如下代码:#define HAVE_STRUCT_TIMESPEC
(6)编译通过之后,程序运行报错,说找不到pthreadVC2.dll 。
解决方法如下:
将pthreadVC2.dll拷贝到项目的Debug目录下
(7)最后运行的结果如下:
找到网上程序的代码如下:
void* tprocess1(void* args) { int i=1; while(i<=10) { printf("process1:%d\n",i); i++; } return NULL; } void* tprocess2(void* args) { int i=1; while(i<=10) { printf("process2:%d\n",i); i++; } return NULL; } int main() { pthread_t t1; pthread_t t2; pthread_create(&t1,NULL,tprocess1,NULL); pthread_create(&t2,NULL,tprocess2,NULL); pthread_join(t1,NULL); pthread_join(t2,NULL); return 0; }
这篇关于VC2012下使用pthread_create进行多线程编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升