標籤:
轉:基礎學習總結----線程(一)http://www.cnblogs.com/xdp-gacl/p/3633936.htmljava
一、線程的概念
線程:線程是一個程式裡面不同的執行路徑
進程:一個靜態概念,機器上的一個.class檔案,機器上的一個.exe檔案,這個叫做一個進程。
程式的執行過程:
1.首先把程式的代碼放到記憶體的代碼區裡面,代碼放到代碼區後並沒有馬上開始執行,但這時候說明了一個進程準備開始,進程已經產生,但還沒有開始執行,這就是進程。其實是2.一進程的執行指的是進程裡面主線程(也就是main()方法)開始執行了。
3.進程是一個靜態概念,在我們機器裡面實際上啟動並執行都是線程。
4.實際上在一個時間點上,CPU只有一個線程在運行,因為CPU啟動並執行速度很快,因此我們看起來的感覺就像是多線程一樣。
二、線程的建立和啟動
1.在JAVA裡面,JAVA的線程是通過java.lang.Thread類來實現的,每一個Thread對象代表一個新的線程。
2.你只要new一個Thread對象,一個新的線程也就出現了。
3.每個線程都是通過某個特定的Thread對象所對應的方法run()來完成其操作的,方法run()稱為線程體。
public class TestThread1 { public static void main(String args[]) { //new一個線程類對象r1,r1要調用run()方法才能啟動 Runner1 r1 = new Runner1(); //要啟動一個新的線程t就必須new一個Thread對象出來 //這裡使用的是Thread(Runnable target)構造方法 Thread t = new Thread(r1); //啟動線程t,t線程執行的是run()方法,它與主線程r1會一起並存執行 t.start(); for(int i = 0; i < 10; i++) { System.out.println("maintheod:" + i); } }}//定義一個類用來實現Runnable介面,實現Runnable介面就表示這個類是一個線程類class Runner1 implements Runnable{ public void run() { for(int i = 0; i <10; i++) { System.out.println("Runner1:" + i); } }}
public class TestThread1 {public static void main(String args[]){//new一個線程類對象r1,r1要調用run()方法才能啟動Runner1 r1 = new Runner1();//要啟動一個新的線程t就必須new一個Thread//這裡使用的是Thread(Runnable target)構造方法Thread t = new Thread(r1);//啟動線程t,t線程執行的是run()方法,它與主線程r1會一起並存執行t.start();for(int i = 0; i < 10; i++){System.out.println("maintheod:" + i);}}}//定義一個類用來實現Runnable介面,實現Runnable介面就表示這個類是一個線程類class Runner1 implements Runnable{public void run(){for(int i = 0; i <10; i++){System.out.println("Runner1:" + i);}}}
java基礎學習總結-----線程(一)