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

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

C#線程終止和Thread.Abort()

C#線程終止和Thread.Abort()

不負(fù)相思意 2019-12-25 10:28:00
在MSDN中,對Thread.Abort()方法的描述說:“調(diào)用此方法通常會終止線程?!睘槭裁床豢偸牵吭谀姆N情況下它不會終止線程?還有其他終止線程的可能性嗎?
查看完整描述

3 回答

?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

Thread.Abort()ThreadAbortException在線程上注入a 。線程可以通過調(diào)用取消請求Thread.ResetAbort()。此外,還有某些代碼部分,例如finally將在處理異常之前執(zhí)行的塊。如果線程由于某種原因卡在這樣的塊中,則永遠(yuǎn)不會在線程上引發(fā)異常。

由于調(diào)用者在調(diào)用時(shí)幾乎沒有控制線程的狀態(tài)Abort(),因此通常不建議這樣做。將消息傳遞給請求終止的線程。


查看完整回答
反對 回復(fù) 2019-12-25
?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

在哪種情況下它不會終止線程?


這個(gè)問題是重復(fù)的。


使用Thread.Abort()有什么問題


還有其他終止線程的可能性嗎?


是。您的問題在于,您永遠(yuǎn)不要啟動無法禮貌地告知要停止的線程,并且該線程會及時(shí)停止。如果您必須啟動一個(gè)線程,該線程可能會(1)難以停止,(2)越野車或最糟糕的(3)對用戶不利的情況,那么正確的做法是使一個(gè)新進(jìn)程,在新進(jìn)程中啟動線程,然后在您希望線程中斷時(shí)終止該進(jìn)程。唯一可以確保安全終止不合作的線程的事情是操作系統(tǒng),將其整個(gè)過程都銷毀了。


有關(guān)更多詳細(xì)信息,請參見我對這個(gè)問題的回答過長:


在C#中的循環(huán)內(nèi)使用lock語句


最后一點(diǎn)是相關(guān)的,我討論了在中止線程之前應(yīng)該等待多長時(shí)間殺死線程的注意事項(xiàng)。


查看完整回答
反對 回復(fù) 2019-12-25
?
烙印99

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超13個(gè)贊

為什么不總是?在什么情況下它不終止線程?


對于初學(xué)者來說,線程可能會抓住ThreadAbortException并取消自己的終止。否則,它可能會導(dǎo)致您嘗試中止計(jì)算所需的時(shí)間。因此,運(yùn)行時(shí)無法保證在您請求線程之后線程將始終終止。


ThreadAbortException 有更多:


調(diào)用Abort方法銷毀線程時(shí),公共語言運(yùn)行庫將引發(fā)ThreadAbortException。ThreadAbortException是可以捕獲的特殊異常,但是它將在catch塊的末尾自動再次引發(fā)。引發(fā)此異常時(shí),運(yùn)行時(shí)將在結(jié)束線程之前執(zhí)行所有的finally塊。由于線程可以在finally塊中進(jìn)行無限制的計(jì)算,或調(diào)用Thread.ResetAbort()取消中止,因此無法保證線程將永遠(yuǎn)結(jié)束。


您不需要Abort()手動創(chuàng)建線程。如果您只是讓線程中的方法返回,那么CLR將為您完成所有的工作。這將正常結(jié)束線程。


查看完整回答
反對 回復(fù) 2019-12-25
  • 3 回答
  • 0 關(guān)注
  • 2596 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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