JAVA ThreadPoolExecutor 如何控制线程重复?
想用ThreadPoolExecutor管理线程,假如一个线程扔进线程池了,再次往线程池里面放的时候能否判断一下上一次的线程执行完毕?
因为之前没用线程池,再次运行时可根据 Thread.getAllStackTraces(); 判断出来(每个线程分配一个名字),换成线程池就不知道怎么搞了。
麻烦哥几个指点一下,多谢了先。
代码如下:
ThreadPoolExecutor pool = new ThreadPoolExecutor(2, 4, 3, TimeUnit.SECONDS, new ArrayBlockingQueue(3), new ThreadPoolExecutor.DiscardOldestPolicy()); String threadname = "aihuichuanshuo"; MyThreadPoolTask task = new MyThreadPoolTask(threadname); pool.execute(task);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
引用来自#4楼“heguangdong”的帖子
引用来自#3楼“KINSEY”的帖子
引用来自#2楼“heguangdong”的帖子
FutureTask future = new FutureTask(thread,null);
把future塞给线程池execute
future.done()判断线程是否完成。
相当的给力
引用来自#3楼“KINSEY”的帖子
引用来自#2楼“heguangdong”的帖子
FutureTask future = new FutureTask(thread,null);
把future塞给线程池execute
future.done()判断线程是否完成。
引用来自#2楼“heguangdong”的帖子
FutureTask future = new FutureTask(thread,null);
把future塞给线程池execute
future.done()判断线程是否完成。
FutureTask future = new FutureTask(thread,null);
把future塞给线程池execute
future.done()判断线程是否完成。