課程
/后端開發
/Java
/Java Socket應用---通信是這樣練成的
為什么調用的是.start()方法?明明寫的.run()方法,而且調用run方法也可以正常使用
2017-02-11
源自:Java Socket應用---通信是這樣練成的 4-3
正在回答
這是線程的使用方面的知識。run()方法里面的叫線程體,是在這個線程需要執行的具體邏輯,而start()方法是啟動線程。我們調用start()方法啟動這個線程,然后系統會自動調用run()方法去執行里面的邏輯。如果我們不調用start(),而調用run(),的確可以運行run()方法里面的邏輯,但是那是在當前線程執行的,沒有新的線程被建立,也就不叫多線程了。你應該補充一下線程方面的基礎知識。
單行道上 提問者
從字面意思就可以理解,start就是開始,run就是運行。就好比一個機器,start就是一個開關,而run就是開關打開過后的運行效果,你可以通過打開開關來運行它,也可以直接運行它。不過我不清楚直接運行會不會有多線程的作用,你可以親自試試。
舉報
分享的是 Java 中的網絡編程,使用Socket實現網絡聊天通信
1 回答線程start
2 回答Thread的start 方法和Run 方法
5 回答Socket里面線程類里面調用父類的方法怎么實現的,void run()
2 回答UDP編程,使用多線程的時候為什么在run方法中獲取不到值?
1 回答UDP多線程
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-03-23
這是線程的使用方面的知識。run()方法里面的叫線程體,是在這個線程需要執行的具體邏輯,而start()方法是啟動線程。我們調用start()方法啟動這個線程,然后系統會自動調用run()方法去執行里面的邏輯。如果我們不調用start(),而調用run(),的確可以運行run()方法里面的邏輯,但是那是在當前線程執行的,沒有新的線程被建立,也就不叫多線程了。你應該補充一下線程方面的基礎知識。
2017-02-12
從字面意思就可以理解,start就是開始,run就是運行。就好比一個機器,start就是一個開關,而run就是開關打開過后的運行效果,你可以通過打開開關來運行它,也可以直接運行它。不過我不清楚直接運行會不會有多線程的作用,你可以親自試試。