1、線程的初步認識java
一、區分進程、程序和線程多線程
程序:沒有執行的指令和相關數據的集合,沒有任何運行的含義。線程
進程:正在運行的程序就是一個進程,當你運行一個程序,也就啓動了一個進程。進程是系統進行資源分配和調度的獨立單位。code
線程:線程是進程中的一個執行單元,是CPU調度和分配的基本單元。繼承
二、多線程接口
能夠簡單的理解爲一個程序同時執行多個任務,每個任務就是一個線程,多個線程之間是共享數據的。進程
2、線程的狀態資源
線程有五大狀態:建立、就緒、運行、阻塞和死亡。關係如圖所示:開發
3、線程的建立方式class
一、繼承Thread類
public class TestThread { public static void main(String[] args) { Thread thread = new MyThread(); thread.start(); } } class MyThread extends Thread { public void run() { System.out.println("繼承Thread類建立方法"); } }
二、實現Runnable接口
public class TestRunnable { public static void main(String[] args) { Thread thread = new Thread(new TestThread()); thread.start(); } } class TestThread implements Runnable { public void run() { System.out.println("實現runnable接口"); } }
三、使用內部類建立線程
public class InnerThread { public static void main(String[] args) { new Thread() { public void run() { System.out.println("內部類方式實現建立"); } }.start(); } }
在實際開發中,實現Runnable接口的方式建立線程使用的更多。