linux线程计算,有关Linux进程与线程数目计算的问题
问题的提出:
Linux,一个进程有n个线程,每个线程又使用fork()创建了一个进程?
请问:总共有多少线程和进程?
问题的解答:
Alexander Amelkin • According to POSIX, after a fork() only the calling thread is to be cloned and all thread-related entities are not guaranteed to work (and in fact will NOT work). POSIX has a list of functions that are safe to use after fork() and most of the thread-related functions aren't on that list. Actually, there is a good explanation given in the Rationale section of the fork() description in POSIX1. In a few words, it says that fork() in a threaded application is only truly safe to use when it is almost immediately followed by exec().
Now, to answer your question. There will be your process with n threads plus n processes with 1 thread each. That totals n+1 processes and 2*n threads.
Yuri Perepechkin •http://pubs.opengroup.org/onlinepubs/009695399/functions/fork.html
fork - create a new process
A process shall be created with a single thread.
the new process shall contain a replica of the calling thread
Process/Threads:
* --fork-> 1/1
...
* --fork-> n-1/1
* --fork-> n/1
Total
processes: 1+n
threads: n+(n*1)=2n
Assumed each process must have one thread at least (main thread)
Start thread and process numeration from 1.
Daya Shanker Prasad •Thank you all, for your answer. For a long time I used to think about it but couldn't pay time on this. Finally I experimented this and got:
Thread: 2n + 1
Process: n + 1
main() was running as separate thread which was forking n threads.
linux线程计算,有关Linux进程与线程数目计算的问题相关推荐
- 【Linux系统编程】守护进程、线程
------------->[Linux系统编程/网络编程](学习目录汇总) <-------------- 目录 1.守护进程 1.1 进程组 1.2 会话 1.3 setsid()函数 ...
- [转]关于Linux下时间片分配给进程还是线程的问题
原文地址:https://www.zhihu.com/question/64723752/answer/223613245 在Linux系统中,对于用户创建的进程(线程)来说,CPU分配时间片的单位是 ...
- Linux服务器查看带宽,进程和线程
Linux服务器上监控网络带宽的常用命令 监控总体带宽使用 ――nload.bmon.slurm.bwm-ng.cbm.speedometer和netload 监控总体带宽使用(批量式输出)――vns ...
- Linux系统编程08---守护进程与线程
目录 作者介绍 学习目标 1 守护进程(也称Daemon 精灵进程-->是后台服务进程) 1.1 守护进程的特点 1.2 进程组和会话 1.3 创建守护进程的模型 1.4 实例:创建守护进程模型 ...
- linux+kill+进程和线程,什么是程序,进程和线程?三者之间有何关系?
进程 进程与线程的历史 进程与线程之间的关系 重点 进程 和 线程的概念 进程和程序关系 cpu在执行程序时什么叫进程 swap 内存的缺页异常 大的异常 小的异常 内存映射mmap 内存泄露 tas ...
- Linux文件系统、虚拟内存、进程与线程、锁
文章目录 文件系统 su Linux 中默认没有 super 命令 /proc /etc /var /root /home /bin /dev /lib /sbin tmp 句柄 maxfd PWD ...
- linux 驱动线程与进程,Linux内核学习之二-进程与线程
一.操作系统的功能 根据维基百科的解释,一个操作系统大概包括以下几个功能: 进程管理(Processing management) 安全机制(Security) 内存管理(Memory managem ...
- android 获取linux线程状态,Android 的进程与线程总结
本文翻译自Android官方文档 当一个Android应用程序组件启动时候,如果此时这个程序的其他组件没有正在运行,那么系统会为这个程序以单一线程的形式启动一个新的Linux 进程. 默认情况下,同一 ...
- task.run 强制结束线程_图文介绍进程和线程的区别
点击蓝色"最码农"关注我哟 加个"星标",每天下午18:03,一起学技术 进程和线程的概念 先了解一下操作系统的一些相关概念,大部分操作系统(如Windows. ...
- 进程和线程(4)-进程 vs. 线程
进程 vs. 线程 我们介绍了多进程和多线程,这是实现多任务最常用的两种方式.现在,我们来讨论一下这两种方式的优缺点. 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负 ...
最新文章
- FIN_WAIT_2
- 采用JNI方法利用opengl es 1.x在android上绘图
- Java7 HashMap详解
- 【渝粤教育】广东开放大学 文化产业项目案例分析 形成性考核 (51)
- JavaSE基础笔记十二
- 怎么将ip地址改成域名访问_什么是域名解析?怎么把域名解析成IP地址?
- java开发http协议接口_java开发接口利用http协议传输数据
- python用户登陆,Python入门基础--用户登陆
- 编辑php程序推荐的软件,手机上如何才能编辑程序代码?(软件推荐)
- Proteus8.6SP2仿真使用汇总
- 四叶草启动引导配置工具 !Clover Configurator中文版下载!
- 基于韦尔奇·鲍威尔法对图着色 含c++代码
- Safari 浏览器扩展安装后未显示
- 阿里云 EMAS Serverless 重磅发布
- 08-20210305在WIN10下通过网口给华为海思Hi3516DV300刷机(鸿蒙系统)
- 知晓云 php,2020 知晓云小程序年度评选获奖名单发布
- 微软的苹果香味——专访微软MacBU组成员
- Java 模板引擎主流,freemaker ,thymeleaf (技术的介绍,重要是理解)(学成在线day04)
- 金蝶显示云服务器已离线,金蝶云服务器已离线是什么情况
- 血栓清道夫机器人_血栓的头号“清道夫”,每天吃一点,血脂血栓全溶光,血管永不堵...
热门文章
- 小米大杀器稳了?队友泄露小米MIX4 5G预售页面...
- 罗永浩确认12月初开发布会 不是手机也不是电子烟
- 突发!百度AI开发者大会李彦宏遭泼水 百度官方回应...
- Galaxy Fold可折叠屏手机何时能发售?三星自己也不知道
- 潘石屹回应丁磊“5G言论”:生活在4G的人理解不了5G
- 苹果将推出新款iPhone 7/8?为应对德国禁售令!
- 虚拟资源拳王公社:小白从0到1搭建个人私域流量池的实操方法,6招玩转流量裂变法
- 解决部分控件,自动获取焦点的情况
- java跨系统和跨域_java web服务解决跨域问题
- wordpress支持MySQL5.5_CentOS 5.5安装Nginx、PHP(FastCGI)、MySQL --搭建LNMP环境安装Wordpress...