java語言

當前位置 /首頁/計算機/java語言/列表

java多執行緒介紹

  多執行緒的基本實現

java多執行緒介紹

程序指執行中的程式,每個程序都會分配一個記憶體空間,一個程序中存在多個執行緒,啟動一個JAVA虛擬機器,就是打開個一個程序,一個程序有多個執行緒,當多個執行緒同時進行,就叫併發。

Java建立執行緒的兩種方式為: 繼承Thread類 和實現Runnable介面

  Thread類

1、通過覆蓋run方法實現執行緒要執行的程式程式碼

2、Start()開始執行多執行緒

package iancheng;

public class d1 extends Thread{

public void run(){

for(int i=0 ; i<50; i++){

tln(i);

tln(currentThread()。getName());

try {

sleep(100);

} catch (InterruptedException e) {

// TODO Auto-generatedcatch block

tStackTrace();

}

}

}

public static void main(String[] args){

new d1()。start();

new d1()。start();

}

}

多個執行緒共享一個例項的.時候,程式碼程式碼如下:

package iancheng;

public class d1 extends Thread{

int i=0;

public void run(){

for(i=0 ; i<50; i++){

tln(i);

tln(currentThread()。getName());

try {

sleep(100);

} catch (InterruptedException e) {

// TODO Auto-generatedcatch block

tStackTrace();

}

}

}

public static void main(String[] args){

new d1()。start();

new d1()。start();

}

}

結果如下所示:

Thread-1

Thread-0

1

Thread-1

1

實際2個執行緒在操縱不同的變數a,在執行run方法時候,執行緒把a都當做自己的變數在執行。

Runnable介面實現多執行緒

當一個繼承自Thread時,就不能再繼承其他類,使用Runnable介面解決了此問題,在新建一個Thread類中,在構造方法中初始化

Thread(Runnable target)

分配新的 Thread 物件。

Thread(Runnable target,String name)

分配新的 Thread 物件。

package iancheng;

public class D2 implements Runnable{

int i=0;

public void run(){

for(i=0 ; i<50; i++){

tln(i);

tln(entThread()。getName());

try {

p(100);

} catch (InterruptedException e) {

// TODO Auto-generatedcatch block

tStackTrace();

}

}

}

public static void main(String[] args){

D2 d=new D2();

Thread t=new Thread(d);

t();

}

}

TAG標籤:JAVA 多執行緒 #