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

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

跳到單線程 ExecutorSerivce 中的下一個(gè)任務(wù)?

跳到單線程 ExecutorSerivce 中的下一個(gè)任務(wù)?

侃侃無(wú)極 2023-06-08 13:57:42
我正在考慮實(shí)施 ExecutorService 來(lái)運(yùn)行一系列任務(wù)。我計(jì)劃使用內(nèi)部隊(duì)列讓一些任務(wù)等待輪到它們運(yùn)行。有什么方法可以中斷當(dāng)前在 ExecutorService 線程中運(yùn)行的任務(wù)(Runnable),并讓線程保持活動(dòng)狀態(tài)以運(yùn)行下一個(gè)任務(wù)?或者只能調(diào)用.shutdown()然后創(chuàng)建一個(gè)新的 ExecutorService?想知道是否還有其他解決方案。
查看完整描述

2 回答

?
交互式愛(ài)情

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

您可能希望有一個(gè)Task class(擴(kuò)展或包裝Runnable)實(shí)現(xiàn)中斷機(jī)制(例如boolean標(biāo)志)的線程,而不是干擾線程。

當(dāng)你執(zhí)行你的任務(wù)時(shí),你需要定期檢查這個(gè)標(biāo)志,如果它被設(shè)置,任務(wù)應(yīng)該停止它正在做的事情。此時(shí)您可能想要返回一個(gè)特定的結(jié)果,告訴您的代碼任務(wù)已成功取消。

如果用戶現(xiàn)在決定不再需要此任務(wù)的結(jié)果,則必須設(shè)置此標(biāo)志。然而,此時(shí)任務(wù)可能已經(jīng)完成,因此您仍然需要處理結(jié)果已經(jīng)存在但用戶不再關(guān)心它的情況。


線程級(jí)別的中斷并不能保證線程停止工作。這僅在線程處于可以接收interrupt.

此外,您不應(yīng)直接干擾 的線程ExecutorSerivce,因?yàn)槟赡軙?huì)無(wú)意中停止不同的任務(wù)或停止ExecutorSerivce正常工作。


查看完整回答
反對(duì) 回復(fù) 2023-06-08
?
躍然一笑

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

您為什么要終止該任務(wù)并繼續(xù)執(zhí)行下一個(gè)任務(wù)?如果是時(shí)間問(wèn)題,您可以定義比您在執(zhí)行它們的方法中聲明的時(shí)間更長(zhǎng)的線程將被自動(dòng)取消。例如:


ExecutorService executor = Executors.newSingleThreadExecutor();

executor.invokeAll(Arrays.asList(new Task()), 60, TimeUnit.SECONDS); // Timeout of 60 seconds.

executor.shutdown();

如果任何線程花費(fèi)的時(shí)間超過(guò) 60 秒,它將拋出一個(gè)cancellation.Exception()你必須捕獲的


查看完整回答
反對(duì) 回復(fù) 2023-06-08
  • 2 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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