Java多線程支持需要我們不斷的進行相關問題的解決下面我們就來看看在接口問題上的相關問題解決方案這樣才能更好的進行不斷的創新和學習希望大家有所了解
Java多線程支持所有實現Runnable接口的類都可被啟動一個新線程新線程會執行該實例的run()方法當run()方法執行完畢後線程就結束了一旦一個線程執行完畢這個實例就不能再重新啟動只能重新生成一個新實例再啟動一個新線程
Thread類是實現了Runnable接口的一個實例它代表一個線程的實例並且啟動線程的唯一方法就是通過Thread類的start()實例方法
Thread t = new Thread();
tstart();
start()方法是一個native方法它將啟動一個新線程並執行run()方法Thread類默認的run()方法什麼也不做就退出了注意直接調用run()方法並不會啟動一個新線程它和調用一個普通的java多線程支持方法沒有什麼區別
因此有兩個方法可以實現自己的線程
方法自己的類extend Thread並復寫run()方法就可以啟動新線程並執行自己定義的run()方法例如
public class MyThread extends Thread {
public run() {
Systemoutprintln(MyThreadrun());
}
}
在合適的地方啟動線程new MyThread()start();
方法如果自己的類已經extends另一個類就無法直接extends Thread此時必須實現一個Runnable接口
public class MyThread extends OtherClass implements Runnable {
public run() {
Systemoutprintln(MyThreadrun());
}
}
為了啟動MyThread需要首先實例化一個Thread並傳入自己的MyThread實例
MyThread myt = new MyThread();
Thread t = new Thread(myt);
tstart();
事實上當傳入一個Runnable target參數給Thread後Thread的run()方法就會調用targetrun()參考JDK源代碼
public void run() {
if (target != null) {
targetrun();
}
}
Java多線程支持還有一些Name ThreadGroup isDaemon等設置由於和線程設計模式關聯很少這裡就不多說了
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27571.html