gpt4 book ai didi

java - 中断Java中的线程

转载 作者:行者123 更新时间:2023-11-30 06:30:55 25 4
gpt4 key购买 nike

我想优雅地关闭线程。我在互联网上看到很多代码并在这里查询。我认为有两种关闭方法。

  1. 使用 boolean 标志。一旦标记更改,我们就可以在运行方法中破坏那里的代码。
  2. 使用中断方法。

我的问题是为什么避免使用 boolean 标志来优雅地关闭线程,当我运行示例程序时它运行良好。

最佳答案

boolean 标志没有任何问题,但是:

  • 你需要记住同步/可见性(至少把 volatile 放在标志上)

  • 为什么在一个已经实现的情况下添加一个额外的标志(中断)?

  • 其他库/容器可能会尝试中断您的线程(毕竟,他们不知道您的标志!)因此您仍然需要支持 InterruptedException 和/或 isInterrupted() 标志

  • 中断线程也可以中断 I/O 调用和 Thread.sleep()。你的自定义标志不能

关于java - 中断Java中的线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10056853/

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