Linux_C编程—创建线程

这篇博客探讨了线程与进程的区别,强调线程作为调度单位在资源消耗和通信上的优势。介绍了如何在Linux环境下使用C语言创建线程,特别是函数的使用及其参数解释,并提供了示例代码展示线程创建的过程。
摘要由CSDN通过智能技术生成

文章目录

线程

学习了进程后,了解到进程是是资源分配的最小单位,而线程是调度的最小单位,线程相比于进程的不同如下:

  • 1.进程拥有独立的地址空间、代码段、数据段、堆栈段,而线程只有独立的堆栈段;
  • 2.进程间拥有多种通信方式,而线程间通信通常是通过全局变量或者是在创建线程是进行数据传输;
  • 3.运行于同一个进程中的各个线程都是共享大部分数据的;
  • 4.创建线程花费的空间远小于创建进程花费的空间;
  • 5.线程之间切换时间远小于进程切换时间;
  • 6.由于线程间共享数据,所以线程间通信更加便捷;
  • 7.fork创建的进程时copy程序,而线程的创建是调用函数

创建线程

创建线程主要使用函数pthread_create(),该函数包括在库pthread.h中,所以编程时要调用,而且在编译阶段,最后要加上链接:-lpthread,因为gcc默认使用C库,所以要把pthread.h链接上去。
函数原型为:

int pthread_create( pthread_t *restict thread,
								const pthread_attr_t *restric attr,
								void *( *start_routine )( void* ),
								void *restrict arg );

看起来比较晦涩,在程序中经常这样使用:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值