您好,登錄后才能下訂單哦!
這篇文章主要講解了“swoole協程的調度方式是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“swoole協程的調度方式是什么”吧!
在swoole中,因為協程的切換是串行的,在同一個時間點只能運行一個協程,一個協程正在運行時,其他協程會停止工作,所以swoole的協程是基于單線程的。
本教程操作環境:Windows10系統、Swoole4版、DELL G3電腦
簡單的說協程是寄宿在線程下程序員實現的一種跟更輕量的并發的協作輕量線程
隨著程序員人群的增大,大佬也不斷的爆發式增長,當然就開始有人覺得線程不好用了,那怎么辦呢?當然是基于線程的理念上再去實現一套更加輕量、更好騙star的一套輕量線程(事實上協程不能完全被認為線程,因為一個線程可以有多個協程)
協程和線程的區別
本質
線程 內核態
協程 用戶態
調度方式
線程的調度方式為系統調度,常用的調度策略有分時調度、搶占調度。說白就是線程的調度完全不受自己控制
協程的調度方式為協作式調度 不受內核控制由自由策略調度切換
上述說了協程是用戶態的,所以所謂的協作式調度直接可以理解為是程序員寫的調度方式,也就是我想怎么調度就怎么調度,而不用通過系統內核被調度。
淺入理解swoole的協程
既然打算淺入理解的swoole的協程,我們必須要知道swoole的協程模型。
swoole的協程是基于單線程。可以理解為協程的切換是串行的,再同一個時間點只運行一個協程.
Swoole的協程在底層實現上是單線程的,因此同一時間只有一個協程在工作,協程的執行是串行的。這與線程不同,多個線程會被操作系統調度到多個CPU并行執行。
一個協程正在運行時,其他協程會停止工作。當前協程執行阻塞IO操作時會掛起,底層調度器會進入事件循環。當有IO完成事件時,底層調度器恢復事件對應的協程的執行。
對CPU多核的利用,仍然依賴于Swoole引擎的多進程機制。
感謝各位的閱讀,以上就是“swoole協程的調度方式是什么”的內容了,經過本文的學習后,相信大家對swoole協程的調度方式是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。