同步與非同步的概念

2021-07-26 01:44:23 字數 1133 閱讀 1804

請問同步與非同步到底什麼意思啊?我所見的非同步好像就是在主線程開乙個新的執行緒就是非同步了,同步就是單執行緒,是這樣的嗎?

2023年7月01日 22:23

xiaozhu1991

-1007

00

同步就是在乙個主線程裡,你要做三件事情,a做完了做b,b完了再做c,是順序執行的; 

非同步就是在乙個主線程裡,你開了三個執行緒來分別處理abc這三件事,這三個子執行緒在**呼叫的時候可能你是先調a再調b和c,但是在執行子執行緒的時候即使a執行緒沒執行完,執行緒b和c也會往下執行,讓我們看起來好像abc三個執行緒是互不干擾的分別在執行。 

很多時候我們會用非同步多執行緒來處理同一業務裡的大量資料,好比有一千個訂單要處理,如果你用乙個執行緒順序執行,你就要迴圈這批訂單,乙個個處理,消耗非常多時間;但是用多執行緒你就可以開十幾二十個執行緒非同步處理,讓效率提高很多。 

另外,非同步雖然我們看起來是很多個執行緒同時在跑,其實對同一cpu來說它在同一時間還是只能處理乙個執行緒的,只是在乙個執行緒裡遇到有io操作等等需要cpu等待的時候,就會切換到另乙個執行緒去執行,加強了使cpu使用率,所以並不是什麼時候都適合使用多執行緒的。

2023年7月02日 09:45

link1987330

25004

00

同步就是在乙個執行緒中,比如你想喝咖啡,就要先燒開水,然後泡咖啡!非同步就是多個執行緒,好比是你在等燒開水的時候可以在旁邊看報紙!前者有循序關係,後者者無!

2023年7月02日 21:19

sandyppl

30000

00

2023年7月02日 15:23

sunway00

0003

00

同步是同一時刻只有乙個執行緒在做,非同步就是同一時刻可有多個現在在做。

2023年7月02日 12:26

openmind

7040113

00

是的 單執行緒一定是同步 

多執行緒大部分情況是非同步

2023年7月02日 11:53

hot002

85007

00

呼叫者必須等待被呼叫者執行完畢,即呼叫者和被呼叫者是序列執行的關係,叫同步。呼叫者不等待被呼叫者執行完畢,呼叫者與被呼叫者並行執行,叫非同步。

同步與非同步概念

1.什麼是同步與非同步 舉個例子 普通b s模式 同步 ajax技術 非同步 同步 提交請求 等待伺服器處理 處理完畢返回 這個期間客戶端瀏覽器不能幹任何事 非同步 請求通過事件觸發 伺服器處理 這是瀏覽器仍然可以作其他事情 處理完畢 例子 同步就是你叫我去吃飯,我聽到了就和你去吃飯 如果沒有聽到,...

同步與非同步的概念

程序同步用來實現程式併發執行時候的可再現性。一 程序同步及非同步的概念 1 程序同步 就是在發出乙個功能呼叫時,在沒有得到結果之前,該呼叫就不返回。也就是必須一件一件事做,等前一件做完了才能做下一件事.就像早上起床後,先洗涮,然後才能吃飯,不能在洗涮沒有完成時,就開始吃飯.按照這個定義,其實絕大多數...

同步和非同步的概念與區分

同步是指 當程式1呼叫程式2時,程式1停下不動,直到程式2完成回到程式1來,程式1才繼續執行下去。非同步是指 當程式1呼叫程式2時,程式1徑自繼續自己的下乙個動作,不受程式2的的影響。舉個不太恰當的例子,就像 sendmessage trace0 just like send sendmessage...