Linux系统编程—线程—线程共享内存空间的代码验证
2021/4/28 7:26:40
本文主要是介绍Linux系统编程—线程—线程共享内存空间的代码验证,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
线程共享内存空间的代码验证
线程默认共享数据段、代码段等地址空间,常用的是全局变量。
#include <stdio.h> #include <pthread.h> #include <unistd.h> int g_data=0; void *func1(void *arg) { printf("t1:%ld thread is create\n",(unsigned long)pthread_self()); printf("t1:param is %d\n",*((int *)arg)); while(1){ printf("t1:%d\n",g_data++); sleep(1); } } void *func2(void *arg) { printf("t2:%ld thread is create\n",(unsigned long)pthread_self()); printf("t2:param is %d\n",*((int *)arg)); while(1){ printf("t2:%d\n",g_data++); sleep(1); } } int main() { int ret; int param=100; pthread_t t1; pthread_t t2; ret=pthread_create(&t1,NULL,func1,(void *)¶m); if(ret==0){ printf("main:create t1 success\n" ); } ret=pthread_create(&t2,NULL,func2,(void *)¶m); if(ret==0){ printf("main:create t2 success\n" ); } printf("main:%ld\n",(unsigned long)pthread_self()); while(1){ printf("main:%d\n",g_data++); sleep(1); } pthread_join(t1,NULL); pthread_join(t2,NULL); return 0; }
运行结果,可以看到全局变量g_data一直在累加
这篇关于Linux系统编程—线程—线程共享内存空间的代码验证的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法
- 2024-08-21【Linux】gnome桌面环境切换KDE Plasma
- 2024-08-19如何安装 VMware Tools (macOS, Linux, Windows)
- 2024-08-15Linux部署Scrapy教程:入门级指南
- 2024-07-29linux命令行下好用的性能监控工具atop
- 2024-07-04Linux系统上离线升级SSH服务的具体操作步骤-icode9专业技术文章分享
- 2024-06-0600-macOS和Linux安装和管理多个Python版本
- 2024-03-30[译]漫画SELinux概念