问答详情
源自:2-5 Java线程-隋唐演义实战开发---关键先生

军队线程中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要不要效果都一样

提问者:心中的愤怒就像龙咆哮 2016-08-03 09:20

个回答

  • qq_依米_15
    2016-08-03 10:42:13

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