gpt4 book ai didi

java - java/android 向循环线程发送消息

转载 作者:行者123 更新时间:2023-12-02 00:22:51 26 4
gpt4 key购买 nike

所以我有以下主题:

  public class MyThread extends Thread
{
Handler cHandler;
private boolean looprunning = false;
MyThread() {
cHandler = new Handler();
looprunning = true;

}

@Override
public void run(){
while (looprunning) {
//do stuff here
//update another system here or something else.
}
}

}

在此线程的 while 循环内,我想运行一个 Runnable,当线程在该 while 循环内循环时,我将其传递给该线程。我该怎么做?

最佳答案

首先请将looprunning标记为 volatile ,以获得正确的线程可见性

您可以使用队列

Queue<Runnable> taskQueue = new ConcurrentLinkedQueue<Runnable>();
@Override
public void run(){
while (looprunning) {
//do stuff here
//update another system here or something else.
Runnable r = taskQueue.poll();
if(r!=null)r.run();
}
}

您可以使用您选择的(线程安全)队列

关于java - java/android 向循环线程发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10618630/

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