![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
chen591007
这个作者很懒,什么都没留下…
展开
-
进程间通信的几种方式
每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1把数据从用户空间拷到内核缓冲区,进程2再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。1.无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。管道是一种最基本的IPC机制,由pipe函数创建。调用pipe函数时在内核中开辟一块缓冲区(称为管道)用于通信,它有转载 2021-02-18 17:08:05 · 373 阅读 · 0 评论 -
同一个进程中的线程程的哪些资源共享,哪些资源不共享
共享的资源有:堆。 由于堆是在进程空间中开辟出来的,所以它是理所当然地被共享的;因此new出来的都是共享的(16位平台上分全局堆和局部堆,局部堆是独享的)全局变量 。它是与具体某一函数无关的,所以也与特定线程无关;因此也是共享的静态变量。 虽然对于局部变量来说,它在代码中是“放”在某一函数中的,但是其存放位置和全局变量一样,存于堆中开辟的.bss和.data段,是共享的文件等公用资源。 这个是共享的,使用这些公共资源的线程必须同步。Win32 提供了几种同步资源的方式,包括信号、临界区、事件和互斥体转载 2021-02-08 14:49:57 · 6295 阅读 · 0 评论