同步和異步的區(qū)別
同步是程序從上往下執(zhí)行查邢,異步是新開啟一個分支蔗崎,相互不會影響。
站在Http協議上分析同步與異步區(qū)別:
我們的Http協議請求默認情況下同步形式調用扰藕,如果調用過程非常耗時的情況下 客戶端等待時間就非常長缓苛, 這種形式我們可以理解阻塞式;
解決辦法:耗時的代碼我們可以使用多線程或者MQ實現處理邓深,但是不能立馬獲取結果未桥; 客戶端可以主動查詢。
異步可以用多線程或者是mq
image.png
image.png
阻塞與非阻塞的區(qū)別
阻塞:如果我沒有獲取到結果的情況下芥备,當前線程從運行狀態(tài)切換為阻塞狀態(tài) 內核角度分析:用戶空間切換到內核空間
非阻塞:如果我沒有獲取到結果的情況下冬耿,當前的線程不會阻塞。
image.png