gpt4 book ai didi

java - 如何告诉 Runnable 抛出 InterruptedException?

转载 作者:行者123 更新时间:2023-11-30 07:18:10 26 4
gpt4 key购买 nike

我正在编写一个调度程序,它接受一个Runnable,它可以排队等待同步或异步执行。

我希望能够实现一个 SomeScheduler.interrupt(int taskId) ,它会导致从线程内抛出 InterruptedException()

这可能吗,还是我的做法完全错误?

最佳答案

Thread可以被中断,Runnable只是实现run方法的类。
它本身不属于线程,如果你想中断 runnable 的执行,你需要中断它的调用线程。
完成此操作的典型方法是使用 ExecutorService。当您向执行程序服务提交可运行或可调用时,它将返回 Future,然后您可以使用 Future#cancel 方法中断特定任务。
请注意,简单地中断线程不会导致抛出 InterruptedException,除非线程正在运行检查中断状态并抛出 InterruptedException 的代码,例如 Thread #sleep方法。

关于java - 如何告诉 Runnable 抛出 InterruptedException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38045191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com