引用內(nèi)容Java Api1.8
進程:
應(yīng)用程序在內(nèi)存中分配的空間(正在運行中的程序)
線程:
進程中負責程序執(zhí)行的執(zhí)行單元,稱為執(zhí)行單元戳护,執(zhí)行路徑单旁。
一個進程中至少有一個線程負責該進程的運行已球。
如果一個進程中出現(xiàn)多個線程宽菜,就稱該程序為多線程程序。
多線程技術(shù):解決多部分代碼同時的執(zhí)行需求
多線程:只能合理使用CPU資源净神,不能提高效率
jvm中的多線程最少2個線程何吝,一個負責自定義代碼運行的線程,一個負責垃圾回收的線程鹃唯。
而線程的任務(wù)都封裝在特定的區(qū)域中
比如:
主線程運行的任務(wù)都定義在main方法中
垃圾回收線程在回收垃圾時都會運行findlize方法爱榕。
創(chuàng)建一個新的執(zhí)行線程有兩種方法。 一個是將一個類聲明為Thread的子類(繼承Thread)坡慌。 這個子類應(yīng)該重寫run類的方法Thread 黔酥。
class PersonDemo1 extends Thread{
private String name;
public PersonDemo1(String name) {
this.name = name;
}
public void run(){
Show();
}
public void Show(){
for (int i = 0; i <10 ; i++) {
System.out.println(name+i);
}
}
}
然后,以下代碼將創(chuàng)建一個線程并啟動它運行:
public class ThreadDemo {
public static void main(String[] args) {
PersonDemo1 p=new PersonDemo1("張三");
PersonDemo1 p1=new PersonDemo1("李四");
p.start();
p1.start();
}
結(jié)果:(局部)
張三0
李四0
張三1
張三2
張三3
張三4
張三5
張三6
李四1
張三7
李四2
張三8