Java多線程淺學習

一. 線程與進程

進程是指運行中的程序,每個進程都有自己獨立的地址空間

線程是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有資源,但是它可與同屬一個進程的其他線程共享進程所擁有的全部資源。

線程知識要點:

1. 線程是輕量級進程

2. 線程沒有獨立的地址空間(內存空間)

3. 線程由進程創建

4. 一個進程可以有多個線程,多線程編程。

5. 線程的5種狀態:

a. new 

b. Runnable

c. Running

d. Blocked

e. Dead


在java中要將一個類當作線程來運行有兩個辦法:

1. 該類繼承 Thread類,重寫run函數,start()

2. 該類繼承Runnable接口,重寫run函數,start()


使用方法2會比方法1要好,原因如下:

1. java的單繼承機制會使得繼承Thread類的類存在使用侷限。

2. 使用Runnable接口繼承能使多個線程共享同一段代碼段。如果程序有同步邏輯需求,建議使用Runnable方法創建線程。


java處理同步的機制:synchronized語句

synchronized(this)

{

//code

}

其中的code就是同步代碼段。

java同步機制的解釋:

synchronized(object){ }  裏面的object可以是任意類,synchronized通過更改 任意類型對象裏面的標誌位(包括0,1兩種狀態)實現線程加鎖。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章