搜尋

首頁  >  問答  >  主體

java - 线程的 start() 能保证顺序吗?

在 main 中创建两个线程,先 thread1.start();然后 thread2.start();能确保 thread1 的 run() 方法先执行吗?

PHP中文网PHP中文网2888 天前485

全部回覆(4)我來回復

  • 大家讲道理

    大家讲道理2017-04-18 10:36:58

    不能,start 方法呼叫之後,執行緒只是變成就緒狀態,不是運行狀態 —— 然後由 JVM 來安排執行緒何時執行(即執行 Thread 的 run 方法)

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:36:58

    • 當然不能

    • 不過直接執行run方法可以導致在目前的執行緒中串列執行run()中的程式碼

    回覆
    0
  • PHP中文网

    PHP中文网2017-04-18 10:36:58

    既然用線程並發,重點考慮的問題就不是執行先後順序了。要先來後到,那就用join方法吧

    回覆
    0
  • PHPz

    PHPz2017-04-18 10:36:58

    問問題之前能不能先自己去找一下答案。關於線程的基本概念網上資料夠多了吧。

    回覆
    0
  • 取消回覆