| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1070 人关注过本帖
标题:一个运行就会把CPU100的程序
只看楼主 加入收藏
EdmundDantes
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:173
注 册:2016-11-9
结帖率:66.67%
收藏
已结贴  问题点数:20 回复次数:5 
一个运行就会把CPU100的程序
package temple;
public class ThreadSafeTest implements Runnable {
    int num = 10; // 设置当前总票数
   
    public void run() {
        while (true) {
            if (num > 0) {
                try {
                    Thread.sleep(100);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                System.out.println("tickets" + num--);
            }
        }
    }
   
    public static void main(String[] args) {
        ThreadSafeTest t = new ThreadSafeTest(); // 实例化类对象
        Thread tA = new Thread(t); // 以该类对象分别实例化4个线程
        Thread tB = new Thread(t);
        Thread tC = new Thread(t);
        Thread tD = new Thread(t);
        tA.start(); // 分别启动线程
        tB.start();
        tC.start();
        tD.start();
    }
}
这个代码,只要运行,CPU直接就100,什么毛病
2017-02-28 16:48
EdmundDantes
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:62
专家分:173
注 册:2016-11-9
收藏
得分:0 
在线等
2017-02-28 16:48
HolyOrder
Rank: 3Rank: 3
等 级:论坛游侠
威 望:6
帖 子:47
专家分:140
注 册:2017-2-6
收藏
得分:10 
死循环
2017-03-01 17:41
孤独与烈酒
Rank: 5Rank: 5
来 自:山西省运城市
等 级:贵宾
威 望:16
帖 子:47
专家分:310
注 册:2016-9-26
收藏
得分:10 
以下是引用HolyOrder在2017-3-1 17:41:36的发言:

死循环

正解
2017-03-06 11:01
wuzhiwei
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-3-20
收藏
得分:0 
while (true) 出不去 , 1. 没必要加while (true)  2. 线程是不安全的   3.sleep 不应这么用
2017-03-20 13:24
九转星河
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:长长久久
等 级:贵宾
威 望:52
帖 子:5023
专家分:14003
注 册:2016-10-22
收藏
得分:0 
来学习一下~

[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]
2017-03-21 10:31
快速回复:一个运行就会把CPU100的程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.046852 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved