线程
m0_47211698
这个作者很懒,什么都没留下…
展开
-
线程基础
线程学习(一)部分理论知识一个进程的所有信息对该进程的所有线程都是共享的,包括可执行的代码,程序的全局内存和堆内存,栈以及文件描述符。但是每个线程都有自己的一组寄存器,自己的栈空间,自己的errno变量。内存分布(个人理解)(1)静态内存分布(程序)和动态内存分布(进程,线程);(2)内存分布|stack| 栈 :局部变量,运行时才有||heap|堆:程序员自己分配内存,运行时才有|| .bss | 未初始化的数据段:未初始化或者初始化为0的全局变量和静态局部变量||.data| 初始原创 2020-12-07 00:08:39 · 112 阅读 · 0 评论 -
线程间的同步和互斥
部分基本概念1.互斥和同步互斥:就是同一时间段内只允许一个线程访问临界资源;同步:就是在互斥的基础上,增加了顺序;总之,同步和互斥就是确保线程在访问变量的存储内容时候,不会访问到无效的值。a.什么时候不需要同步?(1)原子操作(2)全局共享变量仅仅可读(3)变量私有b.了解下什么叫做增量操作?(1)数据从内存单元读入寄存器(2)寄存器内对变量进行增量操作(3)把新的值写回内存单元下面将介绍几种常见的用于线程同步互斥的锁方法,切记尽量避免死锁,作为一个程序员,需要在满足锁的需求下,原创 2020-12-10 00:40:17 · 222 阅读 · 1 评论