A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Silvester 中级黑马   /  2014-5-5 00:56  /  1007 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Silvester 于 2014-5-6 14:51 编辑

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

1 个回复

倒序浏览


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


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马