首页 > 编程语言 > 详细

Linux中的线程

时间:2020-07-11 16:06:44      阅读:45      评论:0      收藏:0      [点我收藏+]
  • 线程负责执行二进制指令,进程除了执行指令之外,内存、文件系统等等都要其来管理。

  • 使用进程实现并行执行的问题有两个:第一,创建进程占用资源太多;第二,进程之间的通信需要数据在不同的内存空间传来传去,无法共享。
  • 创建和运行一个普通线程:声明线程函数->>声明线程对象->>设置线程属性->>创建线程->>销毁线程属性->>等待线程结束->>主线程结束。

技术分享图片

  • 线程访问的数据分成三类:第一类是线程栈上的本地数据,比如函数执行过程中的局部变量,每个线程都有自己的栈空间,为了避免线程之间的栈空间踩踏,线程栈之间会有小块区域,用来隔离保护各自的栈空间;第二类数据就是在整个进程里共享的全局数据,例如全局变量,虽然在不同进程中是隔离的,但是在一个进程中是共享的;第三类数据就是线程私有数据。
  • 共享的数据保护方式:Mutex(Mutual Exclusion,互斥),它的模式是在共享数据访问时,申请加把锁,谁先拿到锁,谁就拿到访问权限,其他的排队等候直到上一次的锁使用结束并释放。互斥锁需要和条件变量配合使用。

Linux中的线程

原文:https://www.cnblogs.com/kongzimengzixiaozhuzi/p/13283974.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!