java有三種多線程創建方式:
1:繼承Thread類;
(1)定義一個Thread類的子類,並實現Run方法
(2)創建該子類的實例對象
(2)調查該實例對象的start方法
2.實現Runable接口
(1)定義一個Runable接口的實現類,並實現Run方法
(2)創建該Runable實現類的對象,並將該對象作爲target傳給Thread類
(3)調用Thread類對象的start方法,實際執行的是上面target對象的run方法
3.實現Callable接口(該方式有兩種執行方式)
方式一:
(1)定義一個Callable接口的實現類,並實現call方法,注意該接口有返回值
(2)創建一個Callable接口實現類的實例對象,並使用FutureTask類來包裝該對象,該FutureTask類的對象包裝了call方法的返回值
(3)將上述FutureTask對象的實例作爲target傳給Thread類,調用Thread類對象的start方法啓動線程
(4)通過FutureTask類對象實例的get方式獲取返回值
方式二:
(1)通過某一個線程池類創建一個線程池對象
(2)定義一個Callable接口的實現類,並實現call方法,注意該接口有返回值
(3)調用線程池對象的submit方式,並用Future<T>接收該返回時