close

 

 

開頭我想了很久,要怎麼樣讓0基礎的人聽得懂什麼叫做Thread,其實還是存在一點難度,所以,在這邊我就盡量講,各位看官就盡量吸收,如果有講不好的地方,麻煩在跟我說好了,因為這玩意真的不是給0基礎的人玩的。

 

 

我先假設你已經有Thread Process 的觀念好了,所以這兩個東西,我就簡單講解,所謂的Thread,就是工人,Process就是老闆,好,你要知道,一個老闆可以有很多的工人,但是一個工人,卻不能擁有很多老闆 ( 不然他怎麼會叫工人 ),所以,先有老闆才有工人,一個老闆最少擁有一個工人。

 

 

所以,我們第一個理解:

Process   = 老闆

Thread   = 工人

 

那老闆請工人來要幹嘛 ? 當然是要工作的啊 !!! 所以,我們第二個理解:

工人 : 就是要執行工作的人

 

 

好了,接下來就簡單了,我們有共同認知了,讓我重新幫你複習一下:

 

 

Process = 老闆,

Thread =工人。

老闆可以有一個以上的工人,工人只能做一個工作( 我們假設這裡不是鬼島 )

 

 

接下來就進入主題吧,如何叫工人工作 ( 如何執行Thread  )

  1. 我們必須要先創建一個工作 ( 你要叫工人幹活,總要有活給人幹吧 ? )

Runnable threadJob = new MyRunnable();

MyRunnable 就是你要叫工人做的事情

 

  1. 建立Thread(找一個工人來),並給予Runnable(工作)

Thread myThread = new Thread(threadJob);

 

  1. 啟動Thread (叫工人開始工作)

  myThread.start();

 

在你還沒叫工人做事之前 (還沒start之前),工人是不會有任何動作的 (你老闆還沒叫你開始幹活前你是不會有任何動作的),所以他會待在那邊,等你叫他開始Start();

 

Runnable這個接口只有一個方法

Public void run (記得她是一個接口,因此不管怎麼寫,他都是public )

 

 

 

然後,我們開始寫點code吧

 

class MyRunnable implements Runnable
{
    public void run()
    {
        go();
    }
    public void go()
    {
        doMore();
    }
    public void doMore()
    {
        System.out.println("Top o the stack");
    }
}


public class ThreadTester 
{
    public static void main(String[]args)
    {          
        Runnable threadJob = new MyRunnable();
        Thread myThread = new Thread(threadJob);
        myThread.start(); 
        System.out.println("Back in Main()");
    }
     
}

arrow
arrow
    文章標籤
    java thread eclipse
    全站熱搜

    Eric 發表在 痞客邦 留言(1) 人氣()