gpt4 book ai didi

java - 如何暂停线程执行

转载 作者:搜寻专家 更新时间:2023-11-01 01:47:16 24 4
gpt4 key购买 nike

如何暂停某些线程的执行。我有 Thread t 和两个按钮,PAUSE 和 CONTINUE。暂停时我需要暂停线程执行并继续线程从之前停止的点开始执行。在听众中放什么?

最佳答案

Java 中的线程是协作的,这意味着您不能强制线程停止或暂停,而是您向线程发出您想要的信号,然后线程(= 您的逻辑)自行执行。

为此使用同步、wait() 和 notify()。

  1. 在要停止的线程中创建一个原子标志(例如 boolean 字段)。可停止线程在循环中监视此标志。循环必须在 synchronized block 内。
  2. 当您需要停止线程(单击按钮)时,您可以设置此标志。
  3. Thread 看到标志已设置并在公共(public)对象(可能是它自己)上调用 wait()
  4. 当你想重启线程时,重置标志并调用commonObject.notify()

关于java - 如何暂停线程执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6058395/

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