线程与进程之间的共享资源

2023-05-16

线程和进程之间的共享资源方式

进程之间的共享资源的方式

1.消息队列
2.共享内存
3.管道(有名管道。无名管道)
4.信号
5.套接字

同一个进程的不同线程之间可以共享的资源

1.堆,由于堆是在进程启动的时候开辟的空间,因此由进程new出来的不同的线程会共享堆空间(16位平台上分全局堆和局部堆,局部堆是独享的)
2.全局变量,全局变量不受具体的函数以及不受具体的线程所拥有,所以全局变量属于共享资源
3.静态变量,在内存中存放在静态存储区,其地位与全局变量是等同的,在堆中开辟,因此其也属于共享资源
4.文件资源,文件资源由系统管理,因此在多线程之间是共享的,但是对于写操作,需要进行不同线程之间的同步,用到的方法包括信号、临界区、事件和互斥,
5.栈;不是线程之间的共享,每个线程有自己独立的栈空间

线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

线程与进程之间的共享资源 的相关文章

随机推荐