在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1482|回复: 6

[求助] fork join的进程

[复制链接]
发表于 2019-5-22 06:41:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
对于fork.. join这样的结构,什么样的算是一个进程,对于下面的代码,一个while(1)算一个进程嘛?那么也就是有3个进程咯?那对于if begin end else begin end这样算一个进程?
fork
while(1)begin
end

while(1)begin
end

while(1)begin
    if(a)begin
    end
    else begin
    end
end
join
发表于 2019-5-22 14:10:29 | 显示全部楼层
while(1)是一个进程,且一直运行,直到别的进程控制语句去强制终止这个进程。
if-else是由它所在while(1)控制的一个进程。
该段代码总共3个进程
发表于 2019-5-22 14:39:26 | 显示全部楼层
接上楼,你这段代码一共有三个进程,只不过第三个进程中又包含了一个if-else进程
 楼主| 发表于 2019-5-22 22:32:37 | 显示全部楼层


李正经110 发表于 2019-5-22 14:39
接上楼,你这段代码一共有三个进程,只不过第三个进程中又包含了一个if-else进程
...


那么是不是只要包括begin end就是一个进程呢??那我记得begin end里边是按照顺序执行的那么这么说的话,假如是如下结构,那么进程A和B执行是否是必须等到进程A执行完了之后才执行B呢?还是说A和B属于并列执行的关系
begin
     begin
          A
     end
     begin
          B
     end
end
发表于 2019-5-23 07:41:18 | 显示全部楼层


jjxgh 发表于 2019-5-22 22:32
那么是不是只要包括begin end就是一个进程呢??那我记得begin end里边是按照顺序执行的那么这么说的话, ...


begin end 本来就是顺序执行的语句块,按照你上面这段代码来说肯定是要第一个begin end 中的A执行完成之后才可执行后面的语句块

发表于 2019-5-23 16:03:39 | 显示全部楼层
begin...end里面是顺序执行各进程,fork..join(join_none/join_any)里面是并行执行各进程。begin...end和fork...join封装的都是进程。
发表于 2019-5-27 17:06:45 | 显示全部楼层


李正经110 发表于 2019-5-22 14:39
接上楼,你这段代码一共有三个进程,只不过第三个进程中又包含了一个if-else进程
...


说的对,fork...join中有3个进程,if...else算是while的进程。
fork...join直接启动的,并行运行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 19:42 , Processed in 0.023673 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表