春招CSIG騰訊云一面
1、虛函數(shù)繼承原理、線程進(jìn)程區(qū)別、進(jìn)程調(diào)度算法
2、進(jìn)程內(nèi)存空間分布
[參考](https://blog.csdn.net/Miracle_ps/article/details/132221089)
3、網(wǎng)卡接收到數(shù)據(jù)然后發(fā)送的具體過程
[參考](https://www.cnblogs.com/zwj-199306231519/articles/17816668.html)
4、TCP 保證可靠性
5、nginx 了解多少,多進(jìn)程和多線程比較,多線程一定好嗎
6、IO 復(fù)用,select/poll/epoll,**epoll_wait 等待的時候會釋放 CPU 嗎**
7、最長上升子序列的長度、詞頻統(tǒng)計 TOPk、有環(huán)鏈表、二叉樹遍歷
#軟件開發(fā)2024筆面經(jīng)##騰訊云#
2、進(jìn)程內(nèi)存空間分布
[參考](https://blog.csdn.net/Miracle_ps/article/details/132221089)
3、網(wǎng)卡接收到數(shù)據(jù)然后發(fā)送的具體過程
[參考](https://www.cnblogs.com/zwj-199306231519/articles/17816668.html)
4、TCP 保證可靠性
5、nginx 了解多少,多進(jìn)程和多線程比較,多線程一定好嗎
6、IO 復(fù)用,select/poll/epoll,**epoll_wait 等待的時候會釋放 CPU 嗎**
7、最長上升子序列的長度、詞頻統(tǒng)計 TOPk、有環(huán)鏈表、二叉樹遍歷
#軟件開發(fā)2024筆面經(jīng)##騰訊云#
全部評論
在IO多路復(fù)用中使用epoll_wait等待IO事件的時候,進(jìn)程會釋放CPU。在Linux中,進(jìn)程狀態(tài)將會變成"S"(可中斷睡眠狀態(tài))或"D"(不可中斷睡眠狀態(tài),通常等待IO)。兩個狀態(tài)下,進(jìn)程都不會占用CPU資源,因為它們都是不同形式的睡眠狀態(tài),CPU會切換到其他進(jìn)程或線程繼續(xù)工作。
"S"狀態(tài)是可中斷的睡眠狀態(tài),表示進(jìn)程正在等待某個條件的滿足或某個事件的發(fā)生。這種狀態(tài)下的等待是可以被信號打斷的,例如,系統(tǒng)調(diào)用如read()在沒有數(shù)據(jù)可讀時會使進(jìn)程進(jìn)入"S"狀態(tài),但接收到信號后,進(jìn)程可以從系統(tǒng)調(diào)用中返回,處理信號。
"D"狀態(tài)則是不可中斷的睡眠狀態(tài),進(jìn)程在這種狀態(tài)下一般是正在等待某個硬件級別的IO操作完成,例如,等待磁盤IO或網(wǎng)絡(luò)IO。這種狀態(tài)的進(jìn)程不能被信號打斷,因為它們通常涉及到一些必須完成的硬件操作。
當(dāng)你調(diào)用epoll_wait時,如果當(dāng)前沒有IO事件,進(jìn)程會進(jìn)入"S"狀態(tài)。如果系統(tǒng)調(diào)用涉及到硬件級別的不可中斷IO操作,進(jìn)程可以進(jìn)入"D"狀態(tài)。這樣設(shè)計是為了在IO操作期間不消耗CPU資源,同時允許其他進(jìn)程或線程使用CPU。
所以,使用epoll_wait時,進(jìn)程會進(jìn)入睡眠狀態(tài)直到事件發(fā)生,從而釋放CPU。
來自 gpt4 的回答
佬看看得物春招呀

歡迎投遞
這么手撕?裂開
相關(guān)推薦
點贊 評論 收藏
分享