Android线程池中的任务取消

愚蠢的土拨鼠ID 2014-09-22 11:42:25
  ExecutorService pool = Executors.newFixedThreadPool(2);
  //创建实现了Runnable接口对象,Thread对象当然也实现了Runnable接口
  Thread t1 = new MyThread();
  Thread t2 = new MyThread();
  Thread t3 = new MyThread();
  Thread t4 = new MyThread();
  Thread t5 = new MyThread();
  //将线程放入池中进行执行
  pool.execute(t1);
  pool.execute(t2);
  pool.execute(t3);
  pool.execute(t4);
  pool.execute(t5);


上面创建了一个固定为2个线程的线程池,在某一时刻有没有办法判断t1、t2、t3、t4、t5是正在排队等待,还是已经在执行,因为我想将正在排队等待的任务取消掉,免得浪费资源
注:我用的就是这篇文章中的第一种方法http://blog.csdn.net/lyf_007217/article/details/8542238
...全文
1022 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yueshao6800 2015-09-22
  • 打赏
  • 举报
回复
gao_chun 2014-09-22
  • 打赏
  • 举报
回复
java.util.concurrent.ExecutorService; java.util.concurrent.Executors; 看看这两个包里面的api
  • 打赏
  • 举报
回复
话说Android中用newFixedThreadPool创建一个固定线程池的时候有没有提供一些管理线程池中任务的接口呢,没找到在哪里。各位有什么方法指点下三
  • 打赏
  • 举报
回复
老习惯自己先顶一下哈
windsunmoon 2014-09-22
  • 打赏
  • 举报
回复
引用 6 楼 heaimnmn 的回复:
[quote=引用 5 楼 windsunmoon 的回复:] 要想取消,就实现Callable接口,然后调用pool.submit()方法,返回 futrue对象,可以用 future对象来获取线程的状态。 这些 都是 J U C 里面的东西 。 源码分析见: http://blog.csdn.net/windsunmoon/article/details/36903901
额,写的不错,再加个例子呗,,,[/quote]
void test(){
		ExecutorService pool = Executors.newFixedThreadPool(2);
		

		  Callable<String> s = new Callable<String>() {
			
			@Override
			public String call() throws Exception {
				System.out.println("test");
				return "true";
			}
		};
		
		
	    
		
		
		Future<String> f = pool.submit( s);
		
		System.out.println(f.isCancelled());
		System.out.println(f.isDone());
		f.cancel(true);

		
	}
哎,真难 2014-09-22
  • 打赏
  • 举报
回复
引用 5 楼 windsunmoon 的回复:
要想取消,就实现Callable接口,然后调用pool.submit()方法,返回 futrue对象,可以用 future对象来获取线程的状态。 这些 都是 J U C 里面的东西 。 源码分析见: http://blog.csdn.net/windsunmoon/article/details/36903901
额,写的不错,再加个例子呗,,,
windsunmoon 2014-09-22
  • 打赏
  • 举报
回复
要想取消,就实现Callable接口,然后调用pool.submit()方法,返回 futrue对象,可以用 future对象来获取线程的状态。 这些 都是 J U C 里面的东西 。 源码分析见: http://blog.csdn.net/windsunmoon/article/details/36903901
lionfresh 2014-09-22
  • 打赏
  • 举报
回复
IntentService提供一个工作者线程队列。

80,356

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧