찾다

 >  Q&A  >  본문

java - 怎么调出并发不确定性的效果

class HelloWorld {
    public static void main(String[] args) throws InterruptedException {
        Thread myThread = new Thread() {
            public void run(){
                System.out.println("Hello from new Thread!");
            }
        };
        
        myThread.start();
        Thread.yield();
        
        System.out.println("Hello from main Thread!");
        myThread.join();
    }
}

《七周七并发模型》
作者说结果可能是

结果可能一

Hello from main Thread!
Hello from new Thread!

结果可能二

Hello from new Thread!
Hello from main Thread!

为什么我的结果只有一。

PHP中文网PHP中文网2807일 전606

모든 응답(2)나는 대답할 것이다

  • 天蓬老师

    天蓬老师2017-04-17 17:35:42

    수면을 사용할 수 있습니다:

    으아아아

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:35:42

    으아악

    질문의 Yield()를 sleep()으로 대체했습니다. Yield() 메서드는 동일한 우선순위를 가진 스레드에만 실행할 기회를 줄 수 있습니다. 메인 스레드가 하위 스레드보다 우선순위가 더 높을 수도 있습니다

    회신하다
    0
  • 취소회신하다