1. 程式人生 > >執行緒的同步和非同步區別

執行緒的同步和非同步區別

執行緒的同步是指一個執行緒需要等待上一個執行緒執行完成,才能執行當前執行緒,同步執行緒之間是相互制約的,在多執行緒中,同步機制是,多個執行緒同時訪問同一個資源,同一個時間內,只有一個執行緒可以擁有該資源的享用權,其他執行緒只能等待,這樣比較耗時、效率低。
例如:有5臺電腦,一臺印表機,同時向這一臺列印機發出列印任務的請求,在同一個時間段內,該印表機只能為其中一臺電腦服務,其他的都只能等待。
執行緒的非同步是指一個執行緒在執行時,不用去等待另一個正在執行的執行緒,在發出申請後直接先執行,不用等待迴應後再執行。
例如:在咖啡廳裡,每個人代表一個執行緒的話,有的人在喝咖啡,有的人在聊天,有的人在看報紙,那麼,這些執行緒之間互不相干,各自都在執行。