第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

swoole協(xié)程是如何判斷阻塞的?如何判斷非阻塞的?

swoole協(xié)程是如何判斷阻塞的?如何判斷非阻塞的?

PHP
動漫人物 2019-03-02 11:07:56
如題。為什么在用戶層調(diào)用PHP的sleep函數(shù)不會被swoole理解為阻塞?而是要調(diào)用swoole自己的co::sleep()?
查看完整描述

2 回答

?
翻翻過去那場雪

TA貢獻2065條經(jīng)驗 獲得超14個贊

因為sleep是PHP實現(xiàn)的函數(shù),swoole無法檢測到用戶調(diào)用了這個函數(shù),因此無法讓當(dāng)前執(zhí)行的協(xié)程讓出調(diào)度權(quán)。

這個跟golang不一樣。golang在編譯器上實現(xiàn)了函數(shù)調(diào)用時是否阻塞的來實現(xiàn)讓出調(diào)度權(quán)。swoole本質(zhì)上還是PHP的擴展,實際代碼的解析和編譯還是PHP內(nèi)核來實現(xiàn)。

類似的還有文件讀寫,系統(tǒng)調(diào)用等,都需要自己去實現(xiàn)讓出調(diào)度權(quán)的邏輯判斷函數(shù),否則也是阻塞worker進程的。


查看完整回答
反對 回復(fù) 2019-03-28
  • 2 回答
  • 0 關(guān)注
  • 575 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號