进程、线程
文章平均质量分 82
smilesundream
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进程、线程比较
关于进程和线程,大家总是说的一句话是“进程是操作系统分配资源的最小单元,线程是操作系统调度的最小单元”。这句话理论上没问题,我们来看看什么是所谓的“资源”呢。 什么是计算机资源 经典的冯诺依曼结构把计算机系统抽象成 CPU + 存储器 + IO,那么计算机资源无非就两种: 1. 计算资源 2. 存储资源 CPU是计算单元,单纯从CPU的角转载 2017-07-08 20:40:54 · 502 阅读 · 0 评论 -
线程共享与私有
线程共享的环境包括:进程代码段、进程的公有数据(利用这些共享的数据,线程很容易的实现相互之间的通讯)、进程打开的文件描述符、信号的处理器、进程的当前目录和进程用户ID与进程组ID。 进程拥有这许多共性的同时,还拥有自己的个性。有了这些个性,线程才能实现并发性。这些个性包括: 1.线程ID 每个线程都有自己的线程ID,这个ID在本进程中是唯一的。原创 2017-04-18 17:32:45 · 1363 阅读 · 1 评论 -
线程、进程间的通信方式
之前一直对进程间和线程间的通信方式搞混,今天对它们总结一下。 一、进程间的通信方式 # 管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。 # 有名管道 (namedpipe) : 有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。 # 信号量(semophore ) : 信转载 2017-07-08 23:16:11 · 395 阅读 · 0 评论 -
条件变量
MY: 条件变量主要用于线程间同步,并且配合互斥锁一起使用,考虑当一个线程p负责对共享区域进行操作(比如修改变量的值),另一个线程q判断变量的值是否达到了某个特定的值,并且到达的话输出“YES”语句,首先q抢占锁,检测变量的值,若不符合条件,则在释放锁之后阻塞自己(这两个操作设为一个原子操作),线程p开始抢占锁,然后处理,出来后释放锁,并且检测是否为某个特定的值,如果是的话,那么给被阻塞线程发送原创 2017-07-22 19:26:23 · 261 阅读 · 0 评论 -
fork之后,子进程从父进程那继承了什么
知道子进程自父进程继承什么或未继承什么将有助于我们。下面这个名单会因为 不同Unix的实现而发生变化,所以或许准确性有了水份。请注意子进程得到的是 这些东西的 *拷贝*,不是它们本身。 由子进程自父进程继承到: 进程的资格(真实(real)/有效(effective)/已保存(saved) 用户号(UIDs)和组号(GIDs)) 环境(environment) 堆栈原创 2017-09-04 21:10:42 · 1516 阅读 · 0 评论 -
僵尸进程
转载自:http://blog.youkuaiyun.com/gb4215287/article/details/51855310 1. 产生原因: 在UNIX 系统中,一个进程结束了,但是他的父进程没有等待(调用wait / waitpid)他,那么他将变成一个僵尸进程。通过ps命令查看其带有defunct的标志。僵尸进程是一个早已死亡的进程,但在进程表 (processs table)转载 2017-09-22 12:04:36 · 321 阅读 · 0 评论 -
socket阻塞与非阻塞,同步与异步
转载自:http://blog.youkuaiyun.com/hguisu/article/details/7453390 socket阻塞与非阻塞,同步与异步 作者:huangguisu 同步:A调用B后,不会去做别的事,而是一直等待在那里。可以等待(阻塞)或轮询的查看(非阻塞)的去查看B的处理结果。 异步:A调用B后,立即去做别的是,等待内核把B处理完后再通知A。 同步有阻塞和非阻塞之...原创 2017-08-23 19:41:08 · 479 阅读 · 0 评论 -
进程地址空间
地址空间 内核空间占据1GB,是所有进程共享的。用户空间最多3GB,每个进程独占。所以从进程的角度来看,每个进程都有4GB的地址空间。不过这个地址是虚地址,内核会建立虚地址到实际地址的映射。 参考资料:http://os.51cto.com/art/201005/199799.htm ...原创 2019-01-21 12:19:34 · 597 阅读 · 0 评论
分享