1.繼承於thread類,重寫run()方法;
2.實現runable介面,實現裡面的run()方法;
前兩種不用多說
3.使用 futuretask 實現有返回結果的執行緒,可以返回執行緒執行結果
public class test
}class mycallable implements callable catch (interruptedexception e)
return d;
}}
4.使用executorservice、executors 執行緒池。
public class mytest
}class myrunable implements runnable
@override
public void run()
}
二、關於run()方法的思考
看看下面這種情況:執行緒類thread 接收了外部任務,同時又用匿名內部類的方式重寫了內部的run()方法,這樣豈不是有兩個任務,那麼究竟會執行那個任務呢?還是兩個任務一起執行呢?
public class testneibu
};//執行緒啟動
thread.start(); }
}class mytask implements runnable
}
執行結果如下:
thread 類的run方法
thread類的run方法在沒有重寫的情況下,是判斷一下是否有runnable 物件傳進來,如果有,那麼就呼叫runnable 物件裡的run方法;否則,就什麼都不幹,執行緒結束。所以,針對上面的例子,一旦你繼承重寫了thread類的run()方法,而你又想可以接收runable類的物件,那麼就要加上super.run(),執行沒有重寫時的run方法,改造如下
thread thread = new thread(new mytask())
};thread.start();
建立執行緒的四種方式
class thread00 extends thread class thread01 implements runnable class thread02 implements callable 對以上三種方法進行測試 測試四種建立執行緒的方式 public class newthread 輸出...
建立執行緒的四種方式
首先我們先來了解一下測試thread中的常用方法 一 繼承thread類 二 實現runnable介面 三 實現callable介面 四 使用執行緒池建立 建立執行緒方式一 繼承thread類 繼承thread類建立執行緒的步驟為 1 新建乙個主類,然後再建立乙個類繼承thread的子類。2 重寫t...
建立執行緒的四種方式
建立執行緒的四種方式 1 繼承thread類 定義乙個thread類的子類,重寫run方法,將相關邏輯實現,run 方法就是執行緒要執行的業務邏輯方法 建立自定義的執行緒子類物件 呼叫子類例項的star 方法來啟動執行緒 public class mythread extends thread pu...