为了账号安全,请及时绑定邮箱和手机立即绑定

军队线程中yield

    public void run() {
        // TODO Auto-generated method stub
        while (keepRunning) {
            for (int i = 0; i < 5; i++) {
                System.out.println(Thread.currentThread().getName() + "进攻了"
                        + i);
            }
//            Thread.yield();
        }
        System.out.println(Thread.currentThread().getName() + "进攻结束!");
    }

当我把yield放在for循环外,或者是注释屏蔽,两个军队线程依旧会是混战,连击,yield要不要效果都一样

正在回答

1 回答

它只是让当前线程进入就绪状态。调用后所有线程重新抢夺资源

0 回复 有任何疑惑可以回复我~
#1

心中的愤怒就像龙咆哮 提问者

但是我把它放在for循环外,他应该5次输出之后再进入就绪状态,而我的结果是它执行了随机次就被别的线程抢占了
2016-08-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

军队线程中yield

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信