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