当前位置: 首页 > news >正文

多线程编程实例

代码:

#include<stdio.h>
#include<pthread.h>
static int run=-1;
static int retvalue;
void *start_routine(void *arg)
{int *running =arg;printf("child Thread initial over,pass in parameters:%d\n",*running);while(*running){printf("child thread is running\n");usleep(1);}printf("child thread quit\n");retvalue=8;pthread_exit((void*)&retvalue);
}
int main(void)
{pthread_t pt;int ret=-1;int times=3;int i=0;int *ret_join=NULL;ret=pthread_create(&pt,NULL,(void*)start_routine,&run);if(ret!=0){printf("create thread failed!\n");return 1;		}usleep(1);for(;i<times;i++){printf("main thread print\n");usleep(1);}		run=0;pthread_join(pt,(void*)&ret_join);printf("thread back value is:%d\n",*ret_join);return 0;
}

运行

第一次:

第二次

前后两次结果不一致,主要是两个线程争夺CPU资源造成的


http://www.mrgr.cn/news/43150.html

相关文章:

  • c++结构体传参
  • Vue3中使用axios
  • Java try-with-resources语句
  • 实时数仓分层架构超全解决方案
  • ThreadLocal详解:线程本地变量的艺术
  • 今日凌晨,ChatGPT重磅更新!—— 我心目中的终极AGI界面
  • 分布式事务(Seata-AT模式)
  • 外包功能测试干了4年,技术退步太明显了。。。。。​
  • 网站建设中,静态网页和动态网页分别是什么,有什么区别
  • vue2集成vuex实现网站统一数据管理
  • 蛋白质结构中原子坐标转换
  • swift使用代码结构解析
  • 大模型基础:基本概念、Prompt、RAG、Agent及多模态
  • 多系统萎缩患者的运动指南【健康守护,动出希望】
  • 涉案财务管理系统架构—交警相关系统——未来之窗行业应用跨平台架构
  • python:reportlab 将多个图片合并成一个PDF文件
  • IO操作同步、异步、阻塞、非阻塞之间的联系
  • 电源入口防护电路
  • ChatGPT-4o在临床医学日常工作、论文高效撰写与项目申报、数据分析与可视化、机器学习建模中的实践应用
  • 链表——单链表