第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

同步會啟用新的線程嗎

同步會啟用新的線程嗎

泛舟湖上清波郎朗 2018-12-05 11:20:09
相信大家都知道有同步和異步兩種調(diào)用方式.區(qū)別我就不多說了,只想請教一下: 同步調(diào)用的時候(比方說invoke),此時,主程序的線程會處于阻塞狀態(tài),等待被調(diào)用方完成后,才可以繼續(xù)執(zhí)行。但此時,主線程既然都阻塞了,是不是應(yīng)該有個新的線程去執(zhí)行被調(diào)用方的操作呢?好多都說,異步才會在線程池里啟動一個新的線程,同步不會,使用相同線程。可是不會的話,這個線程已經(jīng)阻塞了,還怎么繼續(xù)使用呢?
查看完整描述

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 之類的來同步))


查看完整回答
反對 回復(fù) 2018-12-09
?
慕神8447489

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)用方的指令.


查看完整回答
反對 回復(fù) 2018-12-09
  • 2 回答
  • 0 關(guān)注
  • 551 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號