java如何查看子线程是不是执行完

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何查看子线程是不是执行完相关的知识,希望对你有一定的参考价值。

用callable接口,callable接口类似于runnable,但是callable具有返回值,调用其get()或者isalive()均可以判断线程,get()是阻塞的,isalive()是非阻塞的。 参考技术A 其中一个线程?使用类变量判断就可以了。

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()
/////////////////////////
aStop = true;





本回答被提问者和网友采纳

Java中是否父线程阻塞后子线程就无法继续执行?

如果不是,该如何实现阻塞父线程但继续执行子线程?

不是,这个问题属于线程调度。
让一个线程明确的给另外一个线程运行机会,采用以下方法:
1.调整线程优先级
2.让处于运行状态的线程调用Thread.sleep()方法
3.让处于运行状态的线程调用Thread.yield()方法
4.让处于运行状态的线程调用另外一个线程的jion()方法
参考技术A 在父进程做判断呗,符合条件开启子进程,让父进程sleep 或者循环判断。如果不需要了可以直接结束父进程。 参考技术B 提高一下线程优先级别试一下

以上是关于java如何查看子线程是不是执行完的主要内容,如果未能解决你的问题,请参考以下文章

java中请问如何等待一个线程结束在运行其他的代码?

如何使“主线程”等待“子线程”执行结束后再继续执行

如何实现java主线程等待子线程执行完毕之后再执行

Java主线程如何等待子线程执行结束(转)

如何查看字符串是不是为子字符串。 Java [重复]

如何查看 Java 1.4 中的另一个字符串中是不是存在子字符串?