黑马程序员技术交流社区

标题: 关于线程的疑问 [打印本页]

作者: Silvester    时间: 2014-5-5 00:56
标题: 关于线程的疑问
本帖最后由 Silvester 于 2014-5-6 14:51 编辑

        相信大家在学毕老师的视频到线程那一章写买票小程序的时候,当执行java TicketTest的指令后,最后都要使用Ctrl+c来中断程序的运行,那么有没有办法通过代码的形式对线程的释放进行控制(即不用按Ctrl+c)?查询过API,其中有个stop()是停止线程的方法,但是已经过时了,如果线程的运行需要用户参与进来中断,程序的健壮性不是相对变差?
        还有如果不用Ctrl+c中断,那么线程资源一直不释放,一直抢占cpu执行,如果总共有4个线程的话,是4个线程分别各自抢占cpu一段时间,还是就卖完票以后最后执行的线程一直抢占cpu?
作者: Silvester    时间: 2014-5-9 13:45


自己找到答案了,贴出来,感谢黑马程序员微博:
Java 8的新特性2:进程终止:
  启动一个外部进程是你所做的事情中的一半-当这个进程崩溃, 挂起或消耗100% CPU时你要返回来对它进行调试. 现在Process类装备了两个新方法来帮助你控制不守规矩的进程。
  第一个是 isAlive(), 它会让你不需要等待进程运行完毕就可以检查这个进程是否仍在运行. 第二个更强大的方法是destroyForcibly() , 它能让你强制杀死超时或不再需要的进程。







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2