? ?所謂同步汁果,可以理解為在執(zhí)行完一個函數(shù)或方法之后蛙紫,一直等待系統(tǒng)返回值或消息烫葬,這時程序是出于阻塞的,只有接收到
? ? ? ? 返回的值或消息后才往下執(zhí)行其它的命令伟阔。
? ? ? ? 異步,執(zhí)行完函數(shù)或方法后掰伸,不必阻塞性地等待返回值或消息皱炉,只需要向系統(tǒng)委托一個異步過程,那么當系統(tǒng)接收到返回
? ? ? ? 值或消息時狮鸭,系統(tǒng)會自動觸發(fā)委托的異步過程合搅,從而完成一個完整的流程。
?? ? ? ? 同步在一定程度上可以看做是單線程歧蕉,這個線程請求一個方法后就待這個方法給他回復灾部,否則他不往下執(zhí)行(死心眼)。
? ? ? ? 異步在一定程度上可以看做是多線程的(廢話惯退,一個線程怎么叫異步)赌髓,請求一個方法后,就不管了,繼續(xù)執(zhí)行其他的方法春弥。
? ? 同步就是一件事呛哟,一件事情一件事的做。
? ? ? ? 異步就是匿沛,做一件事情扫责,不引響做其他事情。
例如:吃飯和說話逃呼,只能一件事一件事的來鳖孤,因為只有一張嘴。
? ? ? ? ? ? ? ? 但吃飯和聽音樂是異步的抡笼,因為苏揣,聽音樂并不引響我們吃飯。
? ? ? ? 對于Java程序員而言推姻,經(jīng)常聽到同步關鍵字synchronized平匈,假如這個同步的監(jiān)視對象是類的話,那么如果當一個對象
? ? ? ? 訪問類里面的同步方法的話藏古,那么其它的對象如果想要繼續(xù)訪問類里面的這個同步方法的話增炭,就會進入阻塞,只有等前一個對象
? ? ? ? 執(zhí)行完該同步方法后當前對象才能夠繼續(xù)執(zhí)行該方法拧晕。這就是同步隙姿。相反,如果方法前沒有同步關鍵字修飾的話厂捞,那么不同的對象
? ? ? ? 可以在同一時間訪問同一個方法输玷,這就是異步。