web項目中的同步與異步
在我們平時的web項目開發中會經常聽到ajax請求這樣一個稱呼,在web項目中可以通過js或者jquery發送同步請求又或者異步請求,同步請求呢往往代表着你必須等待這次請求結束並且刷新整個界面之后,你才能進行下一步操作,而異步請求則可以不刷新界面,它會立即返回,界面也可以繼續執行其它的操作。
生活中又如何理解呢?
比如你在使用支付寶的時候,想給你的女朋友發送一個520元的紅包,站在同步的角度來理解就是,你發送之后要等你的女朋友領了紅包你才能去做其他的事情,站在異步的角度來理解就是,你發送紅包之后馬上就可以去做其他的事情,比如看看小電影啥的,等你女朋友隨時領了紅包之后,支付寶會提示你的紅包已被你女朋友領取,你也可以繼續做其他的事情。
咋們的生活中也是有很多同步或者異步的場景的,大家可以隨着小Alan舉的例子去發揮你無限的想象力。
比如你在實體店去買雙鞋和你在網上買雙鞋這樣的例子更符合同步與異步的場景,大家自由發揮哈。
那么在Java代碼中又如何理解同步和異步呢?
我覺得同步和異步可以用來形容一次方法調用。同步的方法一旦執行,調用的地方就必須等待方法調用返回后,才能繼續執行后續的功能。
異步的方法更像是傳遞一個消息,一旦開始,方法就會立即返回,調用的地方就可以繼續執行其它的功能。
異步的方法通常會在另外一個線程中繼續執行,不會阻礙調用者的后續工作。
對於調用者來說,異步調用似乎是在一瞬間完成的。如果異步調用需要返回結果,那么當異步調用真實完成時,則會通知調用者。
如圖:
結束語:有沒有發現,幸福有時候很簡單,就是由無數個小巧合和小驚喜兌現成一個現成的大幸福;幸福有時候又很瑣碎,就是由無數個小滿足和小確幸組合成一個蓬勃的大意外。而這些一點一滴的小確幸,每天都在上演,有的人留在了心間,有的人卻讓它從眼前白白溜走。
可愛博主:AlanLee
博客地址:http://www.cnblogs.com/AlanLee
本文出自博客園,歡迎大家加入博客園。