1,繼承thread
主要掌握:執行緒的初始化,啟動,中斷的正確處理方式(interrupted)
public class demo1
}class mythread extends thread
}2,實現runnable
原始碼解析,為什麼會呼叫runnable的run方法
public class demo2
}class myrunnable implements runnable
}3,匿名內部類的方式(執行緒只建立一次的情況)
有兩種方式
public class demo3 ;
}.start();
new thread(new runnable()
}).start();}}
給大家留個思考題,如果兩種都兼顧,執行的時候會採用哪種?為什麼?
new thread(new runnable()
});}.start();
4,帶返回值的執行緒,實現callable介面
實現call方法
futuretask對任務進行封裝
5,使用定時器的方式
timer,timertask,執行定時任務
6,使用執行緒池的方式
通過executors建立不同的執行緒池進行任務執行
7,lambda表示式(函式式程式設計)jdk1.8提供的新特
lambda表示式**簡潔,實現方便,對併發支援好,效能高
我們通過列印乙個集合的資料來觀察執行結果,發現出來的順序是不一致的,說明是多執行緒方式
多執行緒 兩種方式建立執行緒
第一種方式 繼承thread類 public class threaddemo extends thread catch interruptedexception e if s 50 public static void main string args 第二種方式 實現runnable介面 pub...
多執行緒 四種建立方式
public class threadestablish1 start 主線程 for int i 0 i 100 i 1.建立乙個實現了thread類的子類 class subthread extends thread 注意點 如果自己手動呼叫run 方法,那麼就只是普通方法,沒有啟動多執行緒模式...
建立多執行緒的三種方式
首先需要理解清楚程式 程序 執行緒 程式 即靜態的 塊 程序 執行中的程序 執行緒 程序的進一部細分,程式的一條執行路徑 第一種 建立乙個類繼承thread,並重寫run 方法 第一種方法 建立乙個繼承thread的子類 class subthread extends thread public c...