gpt4 book ai didi

java - 在后台线程中运行处理程序消息

转载 作者:IT老高 更新时间:2023-10-28 20:51:05 25 4
gpt4 key购买 nike

我想在后台线程中运行一些 Runnable。我想使用 Handler 因为它方便延迟。我的意思是

handler.post(runnable, delay);

runnable 应该在 background 线程中运行。是否可以创建这样的处理程序?某处是否有“背景” Looper,或者我该如何创建它?

附:我知道如何使用自定义类扩展 Thread 来做到这一点,但它需要比处理程序方式更多的编码工作。所以请不要发布其他解决方案或类似的东西

handler.post(new Runnable() {
@Override
public void run() {
new Thread() {
@Override
public void run() {
//action
}
}.start();
}
});

如果 Handler 能以“干净”的方式做到这一点,我只是徘徊。

最佳答案

你可以这样做:

private Handler mHandler;

private HandlerThread mHandlerThread;

public void startHandlerThread(){
mHandlerThread = new HandlerThread("HandlerThread");
mHandlerThread.start();
mHandler = new Handler(mHandlerThread.getLooper());
}

然后调用:

mHandler.postDelayed(new Runnable() {
@Override
public void run() {
// Your task goes here
}
},1000);

关于java - 在后台线程中运行处理程序消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18694732/

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