a+=1; 這條指令必須在dosomething()方法執(zhí)行完畢返回結(jié)果后才可以執(zhí)行,否則就亂了套
創(chuàng)新互聯(lián)憑借專業(yè)的設計團隊扎實的技術(shù)支持、優(yōu)質(zhì)高效的服務意識和豐厚的資源優(yōu)勢,提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站設計、網(wǎng)站建設、外貿(mào)網(wǎng)站建設、網(wǎng)站優(yōu)化、軟件開發(fā)、網(wǎng)站改版等服務,在成都10年的網(wǎng)站建設設計經(jīng)驗,為成都1000多家中小型企業(yè)策劃設計了網(wǎng)站。
異步:異步概念和同步相對,當一個異步過程調(diào)用發(fā)出后,調(diào)用者不能立刻得到結(jié)果。實際處理這個調(diào)用的部件在完成后,通過狀態(tài)、通知和回調(diào)來通知調(diào)用者(百度上抄的)。理解了同步概念后異步也就不難理解了,以javascript的ajax為例
ajax(arg1,arg2,function(){
//回調(diào)函數(shù)
a=3;
});
a=4;
這個代碼段執(zhí)行完成后一般情況會把a賦值為3而不是4,因為在ajax方法調(diào)用后,a=4;這條語句并沒有等待ajax()返回結(jié)果就執(zhí)行了,也就是在ajax()執(zhí)行完成調(diào)用回調(diào)函數(shù)之前,a=4;已經(jīng)執(zhí)行了,回調(diào)函數(shù)再把a賦值為3使之成為最后結(jié)果,為此在ajax調(diào)用中我們經(jīng)常會使用回調(diào)函數(shù),其實在很多異步處理中我們都會使用到回調(diào)函數(shù)。
阻塞
阻塞操作是指,在執(zhí)行設備操作時,若不能獲得資源,則進程掛起直到滿足可操作的條件再進行操作。
先聲明一個委托:
Public Delegate Function EnumChildProc(hwnd As Integer, iParam As Integer) As Integer
然后才能使用回調(diào)函數(shù),回調(diào)函數(shù)的參數(shù)要和委托完全一致。
然后那個 API 函數(shù)需要這樣聲明:
Declare Function EnumChildWindows Lib "user32" (hWndParent As Integer, lpEnumFunc As EnumChildProc, lParam As Integer) As Integer
你先定義一個公用變量
將你獲得的hwdn傳遞到這個公用變量上
再調(diào)用這個公用變量不久可以了么