黑马程序员技术交流社区

标题: 多线程里一个很弱得问题。。。嘿嘿 [打印本页]

作者: 黑马斯巴达    时间: 2012-11-11 15:59
标题: 多线程里一个很弱得问题。。。嘿嘿
问下大家在多线程执行的时候为什么要Ctrl+c  为什么程序不会停下来呢?小弟愚昧

作者: 黑马_宋超    时间: 2012-11-11 16:17
应该是因为你在线程里调用了什么阻塞性的方法,比如accept()啊,或者什么的
作者: 王亚运    时间: 2012-11-11 16:28
不一定一定要Ctrl+c 吧。
设置好循环变量。
线程执行到变量控制后,线程结束。。
或者,开启守护线程,主线程执行完毕,后台线程就结束了。
时间问题,不写代码了。
多看两遍线程的教程就可以了。
楼下可以继续补充补足代码说明。。。。。。。。



作者: 杨雪松    时间: 2012-11-11 16:57
本帖最后由 杨雪松 于 2012-11-11 17:29 编辑

视频中 老毕都是用的while(true)来循环
这本身就是一个无限循环,
因为要演示多线程的运作,
多跑一会可以看出不同线程之前有还是没有规律
比如是不是交叉运行,还是会出现连续运行两次的错误.
作者: 刘菲    时间: 2012-11-11 19:09
不是非得要按Ctrl  C线程才会结束运行!因为线程中大多是循环结构,只要控制好循环条件,线程就可以结束!还有一种情况就是守护线程,当正在运行的线程都是守护线程时,JAVA虚拟机退出,线程也就随之结束了!
作者: 李贺晓    时间: 2012-11-12 11:02
Ctrl +C是一个中断操作,视频中演示的代码你注意看,有些是无线循环或是阻塞的,这个时候Ctrl +C是一个强制中断的操作
作者: 黑马斯巴达    时间: 2012-11-12 13:14
杨雪松 发表于 2012-11-11 16:57
视频中 老毕都是用的while(true)来循环
这本身就是一个无限循环,
因为要演示多线程的运作,

明白啦!!
作者: 崔利鹏    时间: 2012-11-12 13:19
不一定要ctrl+c的呢,只要你设计好循环根据循环的,希望能帮到你吧




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