1. 程式人生 > >程序、執行緒、協成、同步、非同步

程序、執行緒、協成、同步、非同步

CPU---多個程序

一個程序可以多個執行緒

協成:用yield來終段函式的來回執行函式

 

同步和非同步:

程式,1程序和1執行緒,(1)python讀取資料夾裡面的檔案,(2)然後print出來。同步(有阻塞,有等待)

 

程式,1程序2程序,(1)1個執行緒讀取資料,(2)1另外1個執行緒將讀取出的資料 打印出來。非同步(沒有阻塞,沒有等待)

 

 

作業系統角度,程式1遊戲(程序1),程式2(網路介面卡)(程序2),1玩遊戲,1遍網路流量載入程序,沒有阻塞、沒有等待,這就是非同步

 

js:1個單執行緒的執行的,如果有多個事件就放到佇列裡面去排隊,是非同步執行的,是因為js將事件放在事件佇列裡面,當事件發生時,才從佇列裡面取出來執行相應的函式,沒有阻塞,沒有等待,就是非同步

 

瀏覽器的載入:載入時是非同步的,這樣效率才快,但執行時是同步的