阻塞和异步
學(xué)習(xí)地址:http://blog.csdn.net/stpeace/article/category/1628159
本博客部分知識(shí)由該鏈接部分博客欄目積累而來,在這里感謝一下博主。
阻塞和非阻塞:它們關(guān)注的是某個(gè)調(diào)用的執(zhí)行狀態(tài)。阻塞是指調(diào)用結(jié)果返回之前,當(dāng)前調(diào)用會(huì)被掛起。非阻塞則是當(dāng)前調(diào)用立即返回,不管有沒有結(jié)果(但可能要重復(fù)調(diào)用).
同步和異步:它們關(guān)注的是消息通信機(jī)制,即整個(gè)調(diào)用過程。同步就是在發(fā)出一個(gè)調(diào)用時(shí),在沒有得到結(jié)果之前,調(diào)用不返回。異步則相反,調(diào)用發(fā)出后,就立即返回了,不管有沒有得到結(jié)果。這表明異步可能不會(huì)立即得到結(jié)果,而是在調(diào)用發(fā)出后,被調(diào)用者通過狀態(tài),通知來通知調(diào)用者,或通過回調(diào)函數(shù)處理這個(gè)調(diào)用。
同步阻塞:調(diào)用不返回,調(diào)用掛起,直到等到結(jié)果
同步非阻塞:調(diào)用不返回,但調(diào)用不掛起,但過會(huì)兒再調(diào)用線程查看結(jié)果
異步講阻塞和非阻塞沒啥意義,都統(tǒng)稱異步。
后臺(tái)開發(fā)常用到異步sever:某個(gè)時(shí)刻有大量用戶訪問后臺(tái)數(shù)據(jù)庫。如果是同步,這些用戶中的大部分用戶就需要等待一些時(shí)間,因?yàn)樽x數(shù)據(jù)庫需要花時(shí)間,大量的用戶同時(shí)讀數(shù)據(jù)庫就有一些用戶要等待其他用戶讀完再讀。在異步的情況下再想提升效率,則購(gòu)多臺(tái)服務(wù)器,每個(gè)服務(wù)器多開些進(jìn)程。
總結(jié)
- 上一篇: 字符串的循环移动
- 下一篇: 类会默认产生的成员函数