多線程基礎知識簡介
阿新 • • 發佈:2019-04-22
一段 cond add sleep star 一、基本概念 運行 多線程基礎 技術
一、基本概念:程序、進程、線程
程序(program):是為完成特定任務、用某種預研編寫的一組指令的集合。即指一段靜態的代碼,靜態對象
進程(process):是程序的依次執行過程,或是正在運行的一個程序。動態過程:有它自身的產生、存在和消亡的過程。
- 如:運行中的QQ,運行中的MP3播放器;
- 程序是靜態的,進程是動態的。
線程(Thread):進程可進一步細化為線程,是一個程序內部的一條執行路徑。
- 若一個程序可同一時間執行多個線程,就是支持多線程的。
二、進程與多線程
三、創建並啟動線程
(1)默認JVM會有一個主線程
(2)模擬多線程讀寫數據的過程
import java.util.concurrent.TimeUnit;
public class TryConcurrent {
public static void main(String[] args) throws InterruptedException {
new Thread(()->{
readDataFromDataBase();
}, "read thread").start();
new Thread(()->{
writeDataToFile();
}, "read thread").start();
}
/**
* 模擬數據庫讀取數據的過程
*/
public static void readDataFromDataBase(){
try {
System.out.println("start read data from database");
TimeUnit.SECONDS.sleep(10);
System.out.println("end read data from database");
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("read date finish");
}
/**
* 模擬向磁盤寫數據的過程
*/
public static void writeDataToFile(){
try {
System.out.println("start write data to file");
TimeUnit.SECONDS.sleep(10);
System.out.println("end write data to file");
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println("write date finish");
}
}
代碼運行結果:
多線程基礎知識簡介