gpt4 book ai didi

当我取消 SwingWorker 时,Java SwingWorker 套接字服务器不会被取消

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

我有一个作为 Java SwingWorker 运行的套接字服务器。

SwingWorker 接收传入的连接,并在连接后将套接字移交给负责连接的执行器。 Executor 调用将通过 run() 方法处理套接字的 SocketHandler。

现在,我在 GUI 上有一个停止按钮。当我按下停止按钮时,我想停止执行 SwingWorker。为此,我在按下“停止”按钮时调用了一个 cancel(true) 方法。

现在,尽管我的程序调用了 cancel(true) 方法,但 SocketHandler 继续接收传入数据。这是怎么回事?

我已经阅读了几篇文章,它是 JDK 中的一个错误,调用 cancel(true) 方法不会停止 SwingWorker。这是真的吗?

最佳答案

简单地在循环中添加一个 boolean 检查器

if (!stillWorking)return;

然后您可以将 boolean 值设置为 false 以停止该方法。

关于当我取消 SwingWorker 时,Java SwingWorker 套接字服务器不会被取消,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6283541/

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