keywords: Thread, Runnable, synchronized
現在的CPU很強悍,一般都是多個核心,並使用超執行緒技術,讓一個核心能並行運行多個線程。在處理大資料時,多線程會大大加快資料處理速度,多線程編程也日顯重要。Java中每個程式運行時都有一個主線程main在跑。
建立線程的兩種方式:繼承Thread和實現Runnable
class A extends Thread
Thread implements Runnable
直接調用run()方法不算是多線程,只是運行對象的方法而已。建立多線程需要叫用作業系統資源-CPU。在Thread的start()方法中就會調用native的start()來建立新線程(native說明:http://blog.csdn.net/fsz521/article/details/8748562)。
例:多線程式控制制順序執行:三個線程順序輸出其id三次
輸出:012012012
package multiThread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;class TestThreadMethod extends Thread {public TestThreadMethod(String name) {super(name);}public void run() {System.out.print(this.getName());}}public class TestThread {public static void main(String[] args) {TestThreadMethod ttm0 = new TestThreadMethod("0");TestThreadMethod ttm1 = new TestThreadMethod("1");TestThreadMethod ttm2 = new TestThreadMethod("2");ExecutorService exec = Executors.newSingleThreadExecutor();for (int i = 0; i < 3; i++) {exec.execute(ttm0); exec.execute(ttm1);exec.execute(ttm2);}exec.shutdown();}}