同步(synchronous):同步就是順序執行,執行完一個再執行下一個,需要等待、協調運作。
異步(asynchronous) :就是彼此獨立,在等待某事件的過程中繼續做自己的事,不需要等待這一事件完成後再工作。線程就是實作異步的一個方式。異步是讓調用方法的主線程不需要同步等待另一線程的完成,進而可以讓主線程幹其它的事情。
阻塞:阻塞調用是指調用結果傳回之前,目前線程會被挂起。函數隻有在得到結果之後才會傳回。
非阻塞:非阻塞和阻塞的概念相對應,指在不能立刻得到結果之前,該函數不會阻塞目前線程,而會立刻傳回。
同步與異步是對應的,它們是線程之間的關系,兩個線程之間要麼是同步的,要麼是異步的。
阻塞與非阻塞是對同一個線程來說的,在某個時刻,線程要麼處于阻塞,要麼處于非阻塞。
阻塞是使用同步機制的結果,非阻塞則是使用異步機制的結果。