java中如何结束一个程序 如何确保main()方法所在的线程是Java程序最后结束的线程?
如何确保main()方法所在的线程是Java程序最后结束的线程?
要达到这种情况,我们必须知道以下几点
1。Java中的线程结束在run方法完成后自动结束
2。在主线程(main thread)中,我们需要获取所有线程的引用。
3. 了解JDK提供的countdownlatch的用法
示例如下:
public static void main(string[]args)throws interruptedexception
{
//countdownlatch有几个线程作为计数器记录,例如,有两个线程
countdownlatch latch=new countdownlatch(2)
worker Worker1=new worker(闩锁)
worker worker2=new worker(闩锁)
Worker1。Start()//开始线程
worker2。Start()//]//等待所有工人完成他们的工作等待()
系统输出打印(“所有工作在”sdf.format格式(new Date())
}
类工作线程扩展
{
私有CountDownLatch闩锁
公共工作线程(CountDownLatch闩锁)
{这个。门闩=latch
}
公共void Run(){
xxxxx
//在run方法结束之前,将线程计数器减少一个倒数计时在Java程序中,可以使用java.lang.System系统但是使用exit方法的本质是终止JVM的运行。如果另一个程序同时运行,使用exit方法也会终止程序,在这种情况下应该避免使用interrupt(),它可以用来中断和退出正在运行的进程。对于多线程程序,必须关闭所有非守护进程。exit方法用于仅当程序异常退出时才退出程序。
java中如何结束一个程序 java 线程池 java多线程详解
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。