對於我開始接觸同步非同步單執行緒多執行緒的概念的時候,都是分別理解同步和非同步、單執行緒和多執行緒概念,當看到「使用同步方法保證執行緒安全」時愚昧的理解為那就是單執行緒咯;於是就陷入了困惑,同步等於單執行緒嗎?
下面是我自己不成熟的理解,理解的不是很全面,大家僅供參考,看看就好,歡迎批評改正,深刻的理解我會努力學習,日後再整理,多多包容。
同步:等待執行結束之後,再執行;
非同步:可以不管不顧,同一時間,一起執行;
單執行緒:只有乙個執行緒;
多執行緒:有多個執行緒;
同步!= 單執行緒 非同步!=多執行緒
舉例:
1:多執行緒:小明可以邊吃飯邊看電視劇集 ;
單執行緒:小明只睡覺;
2:同步:小明吃飯,小明吃完啦,爸爸吃; 針對飯;
非同步:小明吃飯,同時爸爸也吃飯; 針對飯;
3:小明邊吃飯邊看電視 ,同時,爸爸專心吃飯;
小明:多執行緒;
爸爸:單執行緒;
飯:非同步 (爸爸和小明一起吃飯,小明爸爸都吃不飽);
4:小明邊吃飯邊看電視 ,吃完了;爸爸專心吃飯;
小明:多執行緒;
爸爸:單執行緒;
飯:同步(爸爸怕小明餓著,先讓小明吃,小明飽了,吃完了,爸爸再吃);
5:小明邊吃飯邊看電視 ,吃完了;爸爸再吃飯,也是邊吃飯邊看電視;
小明:多執行緒;
爸爸:多執行緒;
飯:同步;
電視:非同步;
6:小明爸爸同時邊吃飯邊看電視
小明:多執行緒;
爸爸:多執行緒;
飯:非同步;
電視:非同步;
以上幾個例子中小明和爸爸類似於兩個不同程序,飯、電視類似於資源,不同程序訪問不同資源方式不同,同步非同步和單執行緒多執行緒比較的維度不同。
多執行緒同步I O和單執行緒非同步I O
2014 08 24 同步i o與非同步i o 執行緒在執行中如果遇到磁碟讀寫或網路通訊 統稱io操作 通常要耗費較長的時間,這時os會剝奪此執行緒的cpu控制權,使其暫停執行,同時將資源讓給其他的工作執行緒,這種執行緒排程方式稱為阻塞。當i o操作完畢時,作業系統將這個執行緒的阻塞狀態解除,恢復其...
單執行緒 多執行緒
1.基於python的單執行緒示例 from time import ctime,sleep import time def play video video for i in range 2 print i am playing video s at s video,ctime sleep 5 d...
單執行緒和多執行緒
what 1.程序 當乙個程式開始執行時,它就是乙個程序,程序包括執行中的程式和程式所使用到的記憶體和系統資源。2.執行緒 執行緒就是程式中的乙個執行流,每個執行緒都有自己的專有暫存器 棧指標 程式計數器等 但 是可以共享的,即不同的執行緒可以執行相同的函式。3.多執行緒 多執行緒是指程式中包含多個...