java一个方法中两次调用同一个线程导致第二调用失效

java一个方法中两次调用同一个线程导致第二调用失效

问题描述:

 

如:现在又a,b,c三个方法。a方法中调用b和c方法,b和c方法又都同时调用一个线程,当然a方法的代码顺序执行b然后执行c。

我现在碰到一个问题,a方法走完后得到的反馈只有b方法的,c方法的提示成功但是没有反馈。而且a方法单独调用b方法或者c方法反馈都正常,这是什么问题?求大佬解惑并给点解决方案。

public static void a(){

   b();

   c();

};

public static void b(){

  调用线程()

};

public static void c(){

  调用线程()

}

 

不要设置线程为Daemon线程,java虚拟机中没有非Daemon线程时就会停止运行,不管Daemon线程是否执行完。

最好把完整的代码贴一下 这样看不出来问题

b和c方法又都同时调用一个线程

public static void c(){
  调用线程()

}

这个函数体内应该没有判断线程是否运行吧

	private static Thread thread;

	public static void main(String args[]) throws Exception {
		thread = new Thread(() -> System.out.println("a"));
		thread.start();
		thread.start();
	}

这正常情况下不应该报错吗,你还跑起来了吗?