2 回答

TA貢獻(xiàn)1777條經(jīng)驗 獲得超3個贊
基本知識。。
同步和異步是針對調(diào)用是否會立即執(zhí)行來說的。
異步肯定是另起一個線程來執(zhí)行。
同步調(diào)用方式可以用當(dāng)前線程執(zhí)行,也可以用另一個線程來執(zhí)行。
總之需要等到調(diào)用完成才能繼續(xù)執(zhí)行后面的代碼,所以也叫阻塞了。(跟用哪個線程執(zhí)行沒有關(guān)系。)
常用的invoke方式是直接用當(dāng)前線程來執(zhí)行的。
當(dāng)然你也可以寫自己的invoke, 另起一個線程來執(zhí)行,然后當(dāng)前線程等待(可以用while(ture)方式檢查某個條件,笨方式,也可以用同步信號。(ManualResetEvent/AutoResetEvent 之類的來同步))

TA貢獻(xiàn)1780條經(jīng)驗 獲得超1個贊
線程只是載體.線程上承載的是指令(由你編寫的代碼編譯而成).同步調(diào)用時,被調(diào)用方的指令會嵌入到調(diào)用線程上;異步調(diào)用時,啟動新線程的指令會嵌入到調(diào)用線程上,而具體的被調(diào)用方的指令會嵌入新啟動的線程上.
在執(zhí)行流程上,同步調(diào)用時,CPU需要執(zhí)行完所有承載在調(diào)用線程上的指令,包括被調(diào)用方的指令;異步調(diào)用時,CPU只需執(zhí)行完在調(diào)用線程上承載的啟動新線程的指令,然后,CPU會轉(zhuǎn)到新線程上去執(zhí)行被調(diào)用方的指令.
- 2 回答
- 0 關(guān)注
- 551 瀏覽
添加回答
舉報