1、程序、進程、線程之間的關係
程序是一段靜態的代碼,是應用軟件執行的藍本。
進程是程序一次動態執行的過程,它對應了從代碼加載、執行完畢的一個完整過程,這也是進程開始到消亡的過程。
線程是進程中獨立、可調度的執行單元,是執行中最小單位。
一個程序一般是一個進程,但可以一個程序中有多個進程。
一個進程中可以有多個線程,但只有一個主線程。
Java應用程序中默認的主線程是main方法,如果main方法中創建了其他線程,JVM就會執行其他的線程。
2、創建線程有幾種方式,分別是什麼?
創建線程有三種方式:
1)是繼承Thread類,創建格式如下:
Thread thread = new Thread();
2)是實現Runnable接口,創建格式如下:
Thread thread = new Thread(new Runnable());
其實Thread類實現了Runnable接口
3)通過線程池方式,獲取線程
package com.myjava.thread;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class ThreadPool {
private static int POOL_NUM = 10;
public static void main(String[] agrs){
ExecutorService executorService = Executors.newFixedThreadPool(5);
for (int i = 0; i < POOL_NUM; i++) {
RunnableThread thread = new RunnableThread();
executorService.execute(thread);
}
}
}
class RunnableThread implements Runnable{
private int THREAD_NUM = 10;
public void run() {
for (int i = 0; i System.out.println("線程"+Thread.currentThread()+i); } } } 創建--運行--中斷--死亡 創建:線程構造 運行:調用start()方法,進入run()方法 中斷:sleep()、wait() 死亡:執行完run()方法或強制run()方法結束,線程死亡 3、線程的生命週期
閱讀更多 JAVA凌晨四點半 的文章