最近用JAVA写了个系统,碰到了个问题来向各位大侠请教一下:我在一个程序中开了几个线程ThreadA,ThreadB,ThreadC,程序一开始就启动这几个线程。当我忽然把程序关掉的时候,这但三个线程的任务都还没结束,我现在想问下,当程序结束的时候,这三个线程是随着程序的结束而停止,还是把各自的任务结束了再退出?
    或者有没有什么办法保证线程执行完后再退出?

解决方案 »

  1.   

    如果不是守护线程,主程序运行结束(非exit退出),线程本身如果还没结束,是会继续运行的,直到线程本身运行结束
    不过如果你的主线程是通过exit退出的,那就没办法了,或者你可以判断线程是否还在执行,如果在执行,主线程就等待,然后再exit。
      

  2.   

    这个把程序结束了,说明是强制退出吧,ABC不执行。