我试图创建多个任务队列并同时执行,但延迟时间不同.基本上,起初我只有一个可运行的对象
private final Runnable myQueue = new Runnable() {public voID run() { if (service != null && service.isRunning() && service.queueEmpty()) { queueTasks(); } // run again in period defined in preferences new Handler().postDelayed(myQueue,getUpdatePeriod(prefs));}
};
private voID StartWExecute() {new Handler().post(myQueue);}
我想改进代码,以便有多个队列,并且所有队列同时开始执行,但是每个队列可能有不同的updatePeriod,具体取决于其中的任务.这样,我可以将任务分类到队列中,并手动控制更新速度.我该如何实现?
谢谢.
解决方法:
您需要使用一个MessageQueue:
1,声明一个处理程序
处理程序mWorkerHandler;
2.创建一个Looper:
Thread t = new Thread() { @OverrIDe public voID run() { Looper.prepare(); mWorkerHandler = new Handler() { @OverrIDe public voID handleMessage(Message msg) { Log.d(TAG, "handleMessage - what = " + msg.what); } }; Looper.loop(); } }; t.start();
3.现在您可以发送任何号码信息并根据信息内容执行 *** 作:
mWorkerHandler.sendEmptyMessageDelayed(1, 2000);mWorkerHandler.sendEmptyMessage(2);
总结 以上是内存溢出为你收集整理的Android-如何同时处理多个可运行对象全部内容,希望文章能够帮你解决Android-如何同时处理多个可运行对象所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)