网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
02月03日
漏签
0
天
c语言吧
关注:
798,699
贴子:
4,347,748
看贴
图片
吧主推荐
视频
游戏
1
2
下一页
尾页
35
回复贴,共
2
页
,跳到
页
确定
<<返回c语言吧
>0< 加载中...
老哥们考研救急
只看楼主
收藏
回复
ReL霁
团子家族
10
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
王道上没讲过这个fork好像 这是啥意思啊
GTA小鸡
吧主
14
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
创建子进程
说话中气要足
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
fork之后父子进程都从fork之后往下运行。整个程序会产生8个进程,最后打印出8个“444”,4个“333”,2个“222”,1个“111”
PYPYPY
酱油
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
fork()函数,你可以理解为,程序执行到这一句,它会使用影分身之术创建一个一模一样的程序出来(除了pid不同),然后两个程序同时从这个fork()后面的语句继续执行(之前的语句不执行是因为拷贝的时候连当前运行到哪一句的状态也拷贝了)
Dokpa
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这已经是操作系统的内容了。会创建一个子进程,子进程会拷贝当前进程的数据(包括程序数据)。
总的来说会输出1次“111”,....,8次“444”。
但这里有个问题,那就是多个进程输出的顺序是不一定的。特别是因为有多核的存在。。。甚至可以混着输出。
Dokpa
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
比方说我拿两个服务器跑的例子。
Z_U98
低能力者
5
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
这个顺序可能会不一样的,1111肯定是第一个,后面什么顺序我就不清楚了,估计除了每个thread (现代的Linux系统上,实际是有共同memory的process)自己是顺序,thread之间什么顺序都有可能吧。
这是termux里的运行效果。其实都是一次运行的输出,只是视觉效果上像是在prompt后面又输出了。
Dokpa
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
上面输出被分成两截是因为主进程自己执行完就退出了,没等子进程都输出完。
如果在后门加个wait阻塞下就不会有两截的现象了。
AndyLau
酱油
4
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
百度一分钟,贴吧俩小时
Clamp9393
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
取决于fork函数实现
贪吃的小恐龙
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
创建子进程,其实就是拷贝当前进程,所以比如说执行到2222那里父子进程都会输出一次
二OZxz
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
fork一个调用俩个返回,在子进程中返回0,父进程中返回子进程pid
坚决杀毒2008
麻婆豆腐
11
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
叉子
的烦恼😋
毛蛋
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
应该是抢占时间片的,所以没顺序
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示