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

【Linux】linux中线程的引出

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

一、线程编程实战:创建你的第一个多线程程序

1. 基础线程创建代码

2. 编译和运行


一、线程编程实战:创建你的第一个多线程程序

1. 基础线程创建代码

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#include <unistd.h>// 线程函数
void* thread_function(void* arg) {int thread_num = *(int*)arg;for (int i = 0; i < 5; i++) {printf("线程%d: 正在工作... %d\n", thread_num, i);sleep(1);}return NULL;
}int main() {pthread_t thread1, thread2;int num1 = 1, num2 = 2;printf("主线程开始(PID: %d)\n", getpid());// 创建线程1if (pthread_create(&thread1, NULL, thread_function, &num1) != 0) {perror("线程1创建失败");exit(1);}// 创建线程2if (pthread_create(&thread2, NULL, thread_function, &num2) != 0) {perror("线程2创建失败");exit(1);}// 等待线程结束pthread_join(thread1, NULL);pthread_join(thread2, NULL);printf("所有线程执行完毕!\n");return 0;
}

2. 编译和运行

 

# 编译(需要链接pthread库)
gcc -o thread_demo thread_demo.c -lpthread# 运行
./thread_demo

http://www.dtcms.com/a/354835.html

相关文章:

  • 视频软解码技术详解:原理、应用与未来发展
  • 计算机网络:(poll、epoll)
  • 贴片式SD卡在北京君正与瑞芯微平台上的应用对比与实践解析
  • MCU平台化实践方案
  • DevOps篇之Jenkins实现k8s集群版本发布以及版本管理
  • 趣味学Rust基础篇(函数)
  • ABeam中国 | 中国汽车市场(5)——软件定义汽车(SDV)的智能化应用场景
  • 智能体架构的十字路口:深度剖析Block的“通用平台”与GSK的“垂直模型”
  • 设计模式:组合模式(Composite Pattern)
  • ArcGIS:如何设置地图文档的相对路径或者发布为地图包
  • 5.1 操作系统概述
  • Cesium 入门教程(十一):Camera相机功能展示
  • SplinePSF——应用于光学成像中的 PSF 建模
  • 【贪心 或 DFS - 面试题】小于n最大数
  • 记一次雪花算法 ID 精度丢失的Bug:前端接收到的 Long 被“四舍五入”了?
  • Java HTTP 请求:Unirest 使用指南及与 HttpClient 对比
  • 数据湖与数据仓库
  • 「数据获取」25年最新安徽省路网数据安徽省路网分类数据(获取方式看绑定的资源)
  • 自动化三维测量仪工业零件自动外观三维测量-中科米堆CASAIM
  • 三维视频融合驱动视频孪生创新:智汇云舟引领数字孪生产业新范式
  • Kubernetes一EFK日志架构
  • 在 Ubuntu 24.04 上安装二进制文件(逐步指南)
  • HCIA备考知识点总结:第二章华为VRP系统知识点
  • 嵌入式学习日记(36)TCP并发服务器构建——epoll
  • leetcode算法刷题的第二十天
  • 力扣18:四数之和
  • CodeSouler v2.4.0 版本更新
  • 生成式推荐模型的长序列特征:离线存储
  • 超越文本:深入剖析多模态AI的架构原理
  • c++ 观察者模式 订阅发布架构