先來個StackOverflow 高票回答
When you execute something synchronously, you wait for it to finish before moving on to another task. When you execute something asynchronously, you can move on to another task before it finishes.
當你同步執行某項任務時,你需要等待其完成才能繼續執行其他任務。當你非同步執行某些操作時,你可以在完成另一個任務之前繼續進行。
所謂同步,就是發出一個功能呼叫時,在沒有得到結果之前,該呼叫就不返回或繼續執行後續操作。
簡單來說,同步就是必須一件一件事做,等前一件做完了才能做下一件事。
非同步與同步相對,當一個非同步過程呼叫發出後,呼叫者在沒有得到結果之前,就可以繼續執行後續操作。當這個呼叫完成後,一般透過狀態、通知和回撥來通知呼叫者。對於非同步呼叫,呼叫的返回並不受呼叫者控制。
多個任務時,各個任務按順序執行,完成一個之後才能進行下一個。
多個任務可以同時執行,非同步是多個任務並行的前提條件。
本作品採用《CC 協議》,轉載必須註明作者和本文連結