最早知道的概念是行程 , 每個行程里面的執行單元是執行緒 , 一個行程肯定有一個主執行緒 , 也可以開出一些子執行緒 ,這倆都是作業系統控制的
協程是啥概念?
現在又在執行緒里面增加了個協程的單元 , 這個是各程式自己去實作的概念 , 是比執行緒更小的一個單元
在一個執行緒里面如果開啟了一個協程 , 這個主執行緒就會被阻塞到協程里面去 , 協程執行完 , 再回到主執行緒 . 這個好]和執行緒的阻塞還不一樣 ,執行緒是被作業系統內核所阻塞的,而協程是被程式控制阻塞的 ,沒有進入到作業系統內核里 , 這樣耗費的資源就少.
多行程和多執行緒的切換 , 都是需要作業系統來處理的 , 如果換成多協程的切換 , 就可以只需要我們程式自己來處理就行了 , 耗費的資源也少.
那么對于很多語言例如PHP有協程的概念 , 應該是單協程 , 并沒有增加多協程并發調度切換

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/65112.html
標籤:PHP
下一篇:2020年PHP 面試問題(三)
