日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

wait函数的作用

發(fā)布時(shí)間:2024/8/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 wait函数的作用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

在編寫C程序的時(shí)候, 通過(guò)fork函數(shù)來(lái)創(chuàng)建新的進(jìn)程, wait函數(shù)來(lái)等待子進(jìn)程結(jié)束.

那么就有一個(gè)問(wèn)題了, 什么情況下父進(jìn)程需要等待子進(jìn)程結(jié)束后繼續(xù)執(zhí)行呢? 如果需要等待子進(jìn)程結(jié)束, 那直接將操作放到父進(jìn)程執(zhí)行不就醒了么? 反正等著也是等著.

當(dāng)然, 還有有一種情況, 任務(wù)A 和任務(wù) B 是后續(xù)操作的前提條件, 并且兩個(gè)任務(wù)可以并行進(jìn)行, 此時(shí)確實(shí)可以父進(jìn)程執(zhí)行一個(gè), 子進(jìn)程執(zhí)行一個(gè), 然后父進(jìn)程等待子進(jìn)程完成后繼續(xù)操作. 但是, 我還是覺得這個(gè)解釋并不是那么完美. 這完全可以通過(guò)進(jìn)程通信實(shí)現(xiàn)啊.

因此, 我覺得wait函數(shù)的出現(xiàn)一定是有著其他用途的.

這個(gè)問(wèn)題在我重翻操作系統(tǒng)之后有了答案.

為什么

眾所周知, 進(jìn)程在操作系統(tǒng)中運(yùn)行的過(guò)程中是存在PCB(進(jìn)程管理塊)模塊的. 它是進(jìn)程的唯一標(biāo)識(shí)符, 一般保存著PID、運(yùn)行狀態(tài)、資源信息等等.

進(jìn)程在調(diào)用exit函數(shù)退出時(shí), 會(huì)對(duì)占有的資源進(jìn)行回收. 注意, 在exit函數(shù)回收資源的這段時(shí)間, 該進(jìn)程仍然在運(yùn)行中. 因此, 有一個(gè)資源是進(jìn)程無(wú)法自己進(jìn)行回收的, 就是PCB. 進(jìn)程要運(yùn)行就需要PCB, 而PCB回收的前提就是進(jìn)程已經(jīng)不在運(yùn)行了. 也就是說(shuō), 進(jìn)程自己是無(wú)法回收自己的.

那么PCB就無(wú)法回收了么? 當(dāng)然不是, 該wait函數(shù)出場(chǎng)了. 既然進(jìn)程自己無(wú)法回收自己, 那么就由父進(jìn)程負(fù)責(zé)回收咯. 因此, 這么一個(gè)等待子進(jìn)程結(jié)束的函數(shù)也就有了用武之地.

順帶一提, 在子進(jìn)程exit執(zhí)行結(jié)束, PCB資源回收之前的這段時(shí)間, 子進(jìn)程的狀態(tài)被稱為僵尸態(tài), 很形象了.

mac中的進(jìn)程:

debian中的進(jìn)程:

可以看到, PID為0的進(jìn)程是所有進(jìn)程的父進(jìn)程. 在mac中, 所有進(jìn)程都由/sbin/launchd進(jìn)行創(chuàng)建, debian中則為kthreadd. 他們的作用就是對(duì)進(jìn)程進(jìn)行管理和調(diào)度. 父進(jìn)程通過(guò)fork創(chuàng)建子進(jìn)程, 之后子進(jìn)程再通過(guò)exec更換為要執(zhí)行的進(jìn)程.

而這個(gè)PID為0的進(jìn)程, 也是系統(tǒng)在運(yùn)行過(guò)程中唯一一個(gè)不是通過(guò)fork創(chuàng)建的進(jìn)程.

但是, 還有一個(gè)問(wèn)題, 那就是如果父進(jìn)程沒有等子進(jìn)程結(jié)束呢? 子進(jìn)程結(jié)束的時(shí)候, 發(fā)現(xiàn)其父進(jìn)程早就結(jié)束了, 那它的PCB 無(wú)法回收了么? 當(dāng)然不會(huì), 這個(gè)PID為0的祖宗進(jìn)程, 或者稱為root進(jìn)程會(huì)定期掃描所有的僵尸進(jìn)程, 并且代替其父進(jìn)程對(duì)其進(jìn)行回收.

了解了之后恍然大悟, そうですね!!!

原文地址: https://hujingnb.com/archives/733

總結(jié)

以上是生活随笔為你收集整理的wait函数的作用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲永久免费视频 | 亚欧洲精品视频在线观看 | 亚洲影视网 | 亚洲国产黄色 | 亚洲一区二区三区视频在线 | 特级西西444www大精品视频免费看 | 亚洲色图欧美日韩 | 天堂在线一区 | 亚洲精品国产av | 自拍露脸高潮 | 玖玖zyz | 午夜影视剧场 | 在哪里可以看毛片 | 91黄色免费 | 超碰在线进入 | 91精品91久久久中77777老牛 | 亚洲av久久久噜噜噜噜 | 97超碰97| 久久精品欧美一区二区 | 天天干天天操天天射 | 午夜影院一区二区 | 久久精品国产精品亚洲色婷婷 | 免费黄在线看 | 一区二区福利视频 | 就去吻综合 | 无码视频一区二区三区 | a级黄色片网站 | 一级二级在线观看 | 日韩一级性| chinese国产精品 | 九九亚洲精品 | 天天干天天操天天 | 国产一区二区视频免费在线观看 | 伊人久久久久久久久久久 | 亚洲精品视频观看 | 免费观看成人 | 无人在线观看高清视频 单曲 | 中文av字幕 | 精久久久久久久 | 在线看片中文字幕 | 成人在线网 | 天天躁夜夜躁狠狠是什么心态 | 免费中文字幕日韩欧美 | va视频在线 | 深夜福利院 | 青青青av| 午夜精品久久久久久久99 | 8050午夜一级毛片久久亚洲欧 | 老太脱裤让老头玩ⅹxxxx | 天天撸一撸 | 精品熟女一区二区 | 日韩欧美精品在线观看 | 动漫女被黄漫免费视频 | 欧美91视频| 国产精品69久久久久孕妇欧美 | 久一精品| 一级在线免费观看 | 性xxxx狂欢老少配o | 第一福利视频 | 国产在线免费观看 | 久久艹av| 奇米一区二区三区 | 在线观看亚洲天堂 | 日韩一区不卡视频 | 久久综合资源 | 欧美成人一二三区 | 国产精品9| 国产午夜手机精彩视频 | 妹子干综合网 | 日韩一二三区在线观看 | 亚洲精品理论片 | 韩国毛片一区二区三区 | 五月天看片 | 国产h视频在线观看 | 又粗又猛又爽又黄少妇视频网站 | 撸撸在线视频 | jizz成熟丰满日本少妇 | www日韩在线| 亚洲激情啪啪 | 黄色永久视频 | 国产精品久久国产 | 中文字幕在线观看亚洲 | 亚洲性视频网站 | tube极品少妇videos | 午夜精品无码一区二区三区 | 欧美激情综合网 | 美乳人妻一区二区三区 | 国产麻豆乱码精品一区二区三区 | 国产麻豆剧传媒精品国产av | 亚洲午夜av在线 | 国产日韩欧美精品一区二区 | 91网页入口 | 玖草在线视频 | 麻豆国产精品视频 | 97超碰中文 | 97精品一区 | 久久久久亚洲av成人网人人网站 | 亚洲小说区图片区 | 农村末发育av片一区二区 |