Linux c多线程编程的4个实例

本文通过四个实例详细介绍了Linux环境下C语言的多线程编程,包括线程的创建、退出、线程属性设置、互斥锁和信号量的使用。通过示例展示了如何在多线程中管理共享资源,确保并发访问的安全性。

Linux c多线程编程的4个实例
  在主流的操作系统中,多任务一般都提供了进程和线程两种实现方式,进程享有独立的进程空间,而线程相对于进程来说是一种更加轻量级的多任务并行,多线程之间一般都是共享所在进程的内存空间的。
  Linux也不例外,虽然从内核的角度来看,线程体现为一种对进程的"克隆"(clone),共享进程的资源。但是在用户空间提供了线程管理机制来实现对线程的管理,目前Linux中最流行的线程机制为LinuxThreads,下面以一个多线程编程实例来介绍该线程库的编程接口:
  示例1:线程的创建和退出,等待线程结束和获取线程的返回值
  #include
  #include
  #include
  /************************************************************
  *线程函数:线程运行执行的函数
  *参数p:通用类型的指针,启动线程时传递给线程函数的参数
  *返回值:通用类型指针,线程结束后启动线程的函数可以获取该值
  *****************************************************/
  void
task(void
p){
  double r = (double)p;
  printf("%lf\n",3.14
r
r);
  }
  void
task2(void
p){
  static int sum = 0;
  int i;
  for(i=1;i<11;i++)
  sum = sum+i;
  return ∑
  //pthread_exit(&sum);线程退出,和return等价
  }
  int main(){
  pthread_t id1,id2;
  double d

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值