cfnr.net
当前位置:首页 >> 判断线程是否执行完毕 >>

判断线程是否执行完毕

其中一个线程?使用类变量判断就可以了。 class A{ static boolean aStop = false; static void test(){ new AThread().start(); while(! aStop){ } System.out.println("AThread stoped."); } class AThread extends Thread{ public void run()...

import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; public class Test { public static void main(String args[]) throws InterruptedException { ExecutorService exe = Executors.newFixedThreadPool(3);...

其中一个线程?使用类变量判断就可以了。 class A{ static boolean aStop = false; static void test(){ new AThread().start(); while(! aStop){ } System.out.println("AThread stoped."); } class AThread extends Thread{ public void run()...

List arr = new List(); for (int i =0; i

可以弄个List存放所有任务,任务完成了就删掉。 大概代码如下,你可以调试看看 private ExecutorService threadPool; private List loadTasks; private List loadResults; private int numberOfTasks; public void load() { threadPool = Execut...

如果任务是有返回结果的,结合callable接口使用线程池返回Futrue,然后遍历所有Futerue获取结果,所有结果都返回则执行完毕 如果没有返回结果,则使用CounDownLatch类实现

用callable接口,callable接口类似于runnable,但是callable具有返回值,调用其get()或者isalive()均可以判断线程,get()是阻塞的,isalive()是非阻塞的。

我给你一个简单的思路: 1,定义5个公共布尔变量,用来记录5个线程的执行情况 2,线程开始变量赋值假,执行完毕或者异常退出赋值真 3,一直用一个定时器扫描5个公共布尔变量----------随时知道状态

其实谷歌早就意识到这个问题。Message里有一个send的方法。如下 Message msg = mhandler.obtainMessage(MSG_UPDATE, imgIndex, 0); mhandler.sendMessage(msg); 然后重写handler的 handlerMessage方法,如下: private Handler mhandler = new H...

看Executor的设计,并没有这种api去检查所有的线程都执行完毕.. 一个比较通俗的做法是,当向线程池内增加一个线程的时候,用一个线程安全的变量去记录它.当它结束的时候,再从这个线程安全的变量中减去它.当它等于0的时候.shutdown这个线程池. 还有...

网站首页 | 网站地图
All rights reserved Powered by www.cfnr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com