A.調(diào)用了線程的start()方法,該線程就進入運行狀態(tài) (就緒,還要獲得CPU使用權) B.線程的run()方法運行結束或被未catch的InterruptedException等異常終結,那么該線程進入死亡狀態(tài) C.線程進入死亡狀態(tài),但是該線程對象仍然是一個Thread對象,在沒有被垃圾回收器回收之前仍可以像引用其它對象一樣引用它 D.線程進入死亡狀態(tài)后,調(diào)用它的start()方法仍然可以重新啟動
A.適合多個相同程序代碼的線程去處理同一個資源的情況 B.把線程同程序代碼、數(shù)據(jù)有效的分離,很好的體現(xiàn)了面向對象的設計思想 C.可以避免由于Java的單繼承帶來的局限性 D.編寫簡單,可以不通過Thread類直接創(chuàng)建線程
A.定義Thread類的子類,重寫Thread類的run()方法,創(chuàng)建該子類的實例對象,調(diào)用對象的start()方法 B.定義Thread類的子類,重寫Thread類的run()方法,創(chuàng)建該子類的實例對象,調(diào)用對象的run()方法 C.定義一個實現(xiàn)Runnable 接口的類并實現(xiàn)run()方法,創(chuàng)建該類實例對象,將其作為參數(shù)傳遞給Thread類的構造方法來創(chuàng)建Thread對象,調(diào)用Thread對象的start()方法 D.定義一個實現(xiàn)Runnable 接口的類并實現(xiàn)run()方法,創(chuàng)建該類對象,然后調(diào)用run()方法