java中線程
1
進程是指運行中的應用程序,每個進程都有直接獨立的內存空間。一個應
用程序可以同時啟動多個進程如IE,每次打開一個瀏覽器窗口,就啟動了
一個新的進程。
線程是指進程中的一個執行流程,一個進程可以有多個線程組成,在一個
進程中可以同時運行多個不同的線程,分別執行部同的任務,當進程內的
多個線程同時運行時,這種運行方式稱為并發運行。
線程的創建:
Java程序有主線程,main方法就是主線程。此外我們可以創建自己
的線程,它將和主線程并發運行。創建線程的方式有倆種:太原維信科技
1.extends Thread
2.實現Runnable接口
Thread類表示線程類,主要有倆個方法
Run()包含線程運行時所執行的代碼
Start()用于啟動線程
用戶的線程只需要繼承Thread類,覆蓋Thread類的run()方法即可。
看一個繼承Thread的例子:太原維信科技 http://www.bjweixin.com
public class TestThread extends Thread {
public void run(){
System.out.println("---");
}
public static void main(String[] args) throws IOException {
TestThread t = new TestThread();
t.start();
}
}
Java虛擬機首先創建并啟動主線程,主線程執行main()方法,main方法創
建一個Machine對象,然后調用start()方法啟動線程,運行run()方法。
啟動2個線程 太原維信科技 http://www.bjweixin.com
public class TestThread extends Thread {
private int a;
public void run(){
for(int a=0;a<100;a++){
System.out.println(Thread.currentThread().getName()+":"+a);
}
}
public static void main(String[] args) throws IOException {
TestThread t = new TestThread();
t.start();
TestThread t1 = new TestThread();
t1.start();
}
}
Runnable接口實現線程 太原維信科技 http://www.bjweixin.com
Java不允許一個類繼承多個類,當類繼承了Thread后就不能繼承其他類
,所有java中提供了接口Runnable,可以實現這個接口中的run方法,來實
現線程
public class TestThread implements Runnable {
private int a;
public void run(){
for(int a=0;a<100;a++){
System.out.println(Thread.currentThread().getName()+":"+a);
}
}
public static void main(String[] args) throws IOException {
TestThread t = new TestThread();
Thread t1 = new Thread(t);
t1.start();
Thread t2 = new Thread(t);
t2.start();
}