【Dr.Chen的系列問題】Java多執行緒的實現操作
阿新 • • 發佈:2018-12-13
一、什麼是多執行緒?
多執行緒(英語:multithreading),是指從軟體或者硬體上實現多個執行緒併發執行的技術。具有多執行緒能力的計算機因有硬體支援而能夠在同一時間執行多於一個執行緒,進而提升整體處理效能。具有這種能力的系統包括對稱多處理機、多核心處理器以及晶片級多處理(Chip-level multithreading)或同時多執行緒(Simultaneous multithreading)處理器。在一個程式中,這些獨立執行的程式片段叫作“執行緒”(Thread),利用它程式設計的概念就叫作“多執行緒處理(Multithreading)”。具有多執行緒能力的計算機因有硬體支援而能夠在同一時間執行多於一個執行緒,進而提升整體處理效能。
加速理解:其實就是同時可以處理多個資訊,被稱為多執行緒。
二、多執行緒實現方式
此處參考部落格園文章:部落格園
程式碼本地執行。
1、繼承Thread類建立執行緒
帶返回值。Thread類本質上是實現了Runnable介面的一個例項,代表一個執行緒的例項。啟動執行緒的唯一方法就是通過Thread類的start()例項方法。
public class MyThread extends Thread { public void run() { System.out.println("Hello World"); } } MyThread myThread1 = new MyThread(); MyThread myThread2 = new MyThread(); //利用start啟動多執行緒// myThread1.start(); myThread2.start();
這段程式碼的意思是:myThread1 和 myThread2 是兩個繼承了 Thread 的 MyThread 類。這兩個同時執行println()。
2.runnable介面建立多執行緒
帶著返回值。如果自己的類已經繼承另一個類,就無法直接繼承 Thread,此時,可以實現一個Runnable介面。
public class MyThread extends OtherClass implements Runnable { public void run() { if (target != null) { target.run(); } } } MyThread myThread = new MyThread(); Thread thread = new Thread(myThread); Thread thread1 = new Thread(myThread); thread.start(); thread1.start();
這段程式碼的意思是:Runnable 是一個介面(interface:類似於類,但不是類,其中只含有常量和抽象方法,無法使用new實現,必須使用子類重寫的模式實現。),MyThread 是MyThread的物件,這個thread便是執行緒。