gpt4 book ai didi

android - 如何停止一个线程?

转载 作者:可可西里 更新时间:2023-11-01 18:49:53 27 4
gpt4 key购买 nike

当线程处于 Activity 状态时,如何停止线程?我给了喜欢

if(thread.isAlive()){
thread.stop();
}

但方法 stop 已被弃用并抛出异常

01-21 14:12:40.188: ERROR/global(535):     Deprecated Thread methods are not supported.
01-21 14:12:40.188: ERROR/global(535): java.lang.UnsupportedOperationException
01-21 14:12:40.188: ERROR/global(535): at java.lang.VMThread.stop(VMThread.java:85)
01-21 14:12:40.188: ERROR/global(535): at java.lang.Thread.stop(Thread.java:1379)
01-21 14:12:40.188: ERROR/global(535): at java.lang.Thread.stop(Thread.java:1344)

我们如何解决这个问题?

最佳答案

通常,您不会强行停止线程,因为这很危险。您设置了一个标志,告诉有问题的线程在受控情况下退出它的线程循环。

你的线程循环看起来像这样:

void run() {
while (shouldContinue) {
doThreadWorkUnit();
}
}

在其他地方设置 shouldContinue 变量并等待线程完成:

...
thread.shouldContinue = false;
thread.join();
...

(所有这些可能都不正确,因为我不使用 Java。将其视为伪代码并针对您的实际语言/线程库/等进行修改。)

关于android - 如何停止一个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4756862/

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