gpt4 book ai didi

java - 使用处理程序多次触发可运行程序的效果

转载 作者:行者123 更新时间:2023-12-02 02:48:54 24 4
gpt4 key购买 nike

我有像这样的简单可运行

private Runnable runnable = new Runnable()
{
@Override
public void run()
{
someVariable = true;
}
};

我将它与处理程序一起使用并像这样延迟

handler.postDelayed(runnable, 60000);

如果此功能收到垃圾邮件并且重复调用上述功能,则会将可运行多次添加到消息队列中。

如果是这种情况,是否需要先检查消息队列中是否有一个消息,然后再添加另一个消息队列?

最佳答案

您好,我的方法是在处理程序运行一次后删除消息和回调。我的代码的一个简单示例是

final Handler handler = new Handler();

Runnable runnable = new Runnable() {
@Override
public void run() {
Log.d("runnable", "handler invoked just once");
handler.removeCallbacksAndMessages(null);
}
};

handler.postDelayed(runnable, 2000);
handler.postDelayed(runnable, 2000); // demo: if this is called multiple times my runnable code wont run

关于java - 使用处理程序多次触发可运行程序的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44133838/

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