java - 在执行下一行调用者之前,Java 是否等待 thread.interrupt() 完成处理 InterruptedExceptoin ?

标签 java multithreading

如果我有以下代码,是否有可能运行 doSomething()之前interrupt()完成catch InterruptedExceptoin{}的执行阻止run()方法sampleThread s。

...
//codes
sampleThread.interrupt();
doSomething()
//codes
...

最佳答案

不,调用 interrupt() 不会等待其他线程执行任何操作。它设置线程的中断标志,然后继续处理自己的事务,而不管被中断的线程做了或不做什么。

但是称其为“异步”可能会令人困惑。当然,它不会阻塞当前线程,但它也不与该线程合作,期望另一个线程执行特定的操作。

关于java - 在执行下一行调用者之前,Java 是否等待 thread.interrupt() 完成处理 InterruptedExceptoin ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58832182/

相关文章:

java - 是否有可能获得 putextra 的名称/标签?

java - 为什么这不是语法错误/那是什么语法

java - ActionListener编译错误-;预期

java - 在 TestNG 中与 @Factory 并行运行测试类

java - 为什么使用 ProcessBuilder 运行 docker 会导致挂起?

java - 如何将方法从A类传递到B类

multithreading - 在共享对象的各个部分上进行独立操作时,是否需要互斥锁?

android - 改造 2 错误 : NetworkOnMainThreadException

java - 线程转储分析器

multithreading - 使用forkIO在Haskell "Concurrently, Asynchronously, Parallel, Non-Blocking"中进行Network.Socket编程