线程池运行多个线程
16lz
2021-01-26
final ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5); for (final MSContact contact : contactList) { fixedThreadPool.execute(new Runnable() { @Override public void run() { AddContactInDeviceUtils.addContact(context, contact.getName(), contact.getFirstMobile(), contact.getSecondMobile()); } }); } fixedThreadPool.shutdown(); final Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { if (fixedThreadPool.isTerminated()) { dialog.dismiss(); ToastUtils.showToast(context, "已导入" + contactList.size() + "个联系人"); Intent intent = new Intent(); intent.setAction("com.newingscom.iwcontact.main.update"); context.sendBroadcast(intent); context.finish(); } else { handler.postDelayed(this, 100); } } }; handler.postDelayed(runnable, 100);//每两秒执行一次runnable.
更多相关文章
- Android倒计时的几种方式
- Androidstudio实现手机摇一摇功能
- onNewIntent 什么时候调用
- Android(安卓)通信录中的联系人操作
- java 定时任务
- Android学习笔记-Activity的生命周期
- 导入工程,添加jar包之后还是报错?
- android-使用AsyncTask做下载进度条
- AsyncTask 源码解析