线/进程所持有资源以及子线/进程所继承资源
来源:互联网 发布:淘宝新店推广 编辑:程序博客网 时间:2024/04/30 21:19
1.线程和进程的关系
线程是属于进程的,线程运行在进程空间内,同一进程所产生的线程共享同一内存空间,当进程退出时该进程所产生的线程都会被强制退出并清除。线程可与属于同一进程的其它线程共享进程所拥有的全部资源,但是其本身基本上不拥有系统资源,只拥有一点在运行中必不可少的信息(如程序计数器、一组寄存器和栈)。
2、线程和进程间的比较
子进程继承父进程的属性:
子线程继承主线程的属性:
实际用户ID,实际组ID,有效用户ID,有效组ID;
附加组ID;
进程组ID;
会话ID;
控制终端;
设置用户ID标志和设置组ID标志;
当前工作目录;
根目录;
文件模式创建屏蔽字(umask);
信号屏蔽和安排;
针对任一打开文件描述符的在执行时关闭(close-on-exec)标志;
环境;
连接的共享存储段;
存储映射;
资源限制;
会继承互斥锁、条件变量的状态
共享打开文件表项目
进程中的所有信息对该进程的所有线程都是共享的;
可执行的程序文本;
程序的全局内存;
堆内存;
栈;
文件描述符表;创建子线程前打开的文件将共享读写位置 即共享打开文件表项,创建之后各自打开不共享共享读写位置 即不共享打开文件表项,父子进程一样。参考
信号的处理是进程中所有线程共享的(注意:如果信号的默认处理是终止该进程那么即是把信号传给某个线程也一样会将进程杀掉);
父子进程之间的区别:
子线程特有的:
fork的返回值(=0子进程);
进程ID不同;
两个进程具有不同的父进程ID;
子进程的tms_utime,tms_stime,tms_cutime以及tms_ustime均被设置为0;
不继承父进程设置的文件锁;
子进程的未处理闹钟被清除;
子进程的未处理信号集设置为空集;
线程ID;
一组寄存器值;
栈;---应该是线程栈
调度优先级和策略;
信号屏蔽字;
errno变量;
线程私有数据;
转自:http://www.bubuko.com/infodetail-373141.html
相关:线程与进程的资源关系、线程与信号
文件句柄、文件描述符与进程和多线程的那些事
同进程下的线程共享哪些资源
- 线/进程所持有资源以及子线/进程所继承资源
- Linux查看进程所使用资源限制
- fork后子进程对父进程资源的继承
- Linux下查看某个进程所占用的资源
- 回收子进程的资源
- 进程资源
- 进程资源
- 删除所标进程
- 如何linux下监控进程及其子进程占用资源?
- fork 后子进程copy父进程的什么资源
- Linux子进程对父进程资源“写时拷贝”
- linux进程、线程(or子进程)、资源占用查看
- 查看进程资源
- 查看进程资源
- 多进程资源加载
- 进程资源限制
- 取消进程释放资源
- linux进程资源限制
- 安卓JNI--JNI底层C回调Java方法
- 【第14周—查找项目1-3——验证二叉排序树相关算法】
- 青蛙跳台阶
- 第一章 Java环境
- 方向传感器的简单使用-模仿微信摇一摇
- 线/进程所持有资源以及子线/进程所继承资源
- STL学习小结2
- LibGDX_4.2: 演员(Actor)
- UI基础-图片异步下载、KVO
- jQuery之dom操作(遍历节点)
- Life Forms 后缀数组 不小于k个字符串中的最长子串
- 指针类型学习总结-- this指针
- Code Forces 590 B. Chip 'n Dale Rescue Rangers(二分)
- Boyer-Moore算法--C语言实现(简单易懂)