黑马程序员技术交流社区
标题:
javaw.exe未退出并大量占用CPU
[打印本页]
作者:
韩天雷
时间:
2014-7-13 01:26
标题:
javaw.exe未退出并大量占用CPU
本帖最后由 韩天雷 于 2014-7-13 01:48 编辑
3.png
(135.26 KB, 下载次数: 53)
下载附件
2014-7-13 01:23 上传
代码执行完后 javaw.exe未退出并大量占用CPU
不知道原因~
代码如下,求解答~
class Ticket implements Runnabl{
private int tick = 100;
Object p =new Object();
public void run() {
while (true) {
synchronized (p) {
if (tick > 0) {
try {
Thread.sleep(10);
} catch (Exception e) {
}
System.out.println(Thread.currentThread().getName() + "卖出"
+ tick-- + "号票!");
}
}
}
}
}
public class TicketDemo {
public static void main(String[] args) {
Ticket t = new Ticket();
Thread t1 = new Thread(t, "1号窗口");
Thread t2 = new Thread(t, "2号窗口");
Thread t3 = new Thread(t, "3号窗口");
Thread t4 = new Thread(t, "4号窗口");
t1.start();
t2.start();
t3.start();
t4.start();
}
}
复制代码
作者:
韩天雷
时间:
2014-7-13 01:48
本帖最后由 韩天雷 于 2014-7-13 01:50 编辑
3Q~{:3_57:} 按老师的敲的,我还以为我系统出问题了呢~
作者:
劇情侢媄終究媞
时间:
2014-7-13 08:14
新启动的线程中运行的是一个while的死循环.只是说判断票数大于0就卖.小于零后依旧会一直判断.你可以在加一句判断.如果车票小于等于零就return
作者:
青程
时间:
2014-7-13 09:18
死循环,改一下就好了
作者:
非5莫属
时间:
2014-7-13 09:29
路过 学习了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2