執行緒的實現

2021-07-05 04:31:21 字數 1817 閱讀 4446

要實現多執行緒有兩種方式

,一種是繼承

thread類(要重寫

run()

方法),一種是實現

runnable

介面。package

com.erequan.thread;

public

class

mythread 

extends

thread 

public

void

run() 

}}

package

com.erequan.thread;

public

class

testthread 

}

public inte***ce 

runnable

package

com.erequan.runnable;

public

class

myrunnable 

implements

runnable 

public

void

run() 

}}

package

com.erequan.runnable;

public

class

testruuable 

}

兩種實現方法的區別,在開發中一般都是用方法二。好處有:避免單繼承的侷限性。適用於多執行緒的共享。

如下假設乙個購票系統:

用thread

方式實現:

package

com.erequan.ticket;

public

class

buytiacet 

extends

thread }}

}

package

com.erequan.ticket;

public

class

testticket 

}

結果是每個執行緒都買了相同多的票數,並不是資源的共享。即每個執行緒各不相關,各自有各自的執行緒。並且不能有相同的兩個執行緒在執行,否則會報錯!!

用runnable實現

package

com.erequan.ticket;

public

class

runnableticket 

implements

runnable }}

}

package

com.erequan.ticket;

public

class

testticket 

}

實現了資源的共享!!

但是在不同版本的

jdk下得到的結果不同,可以檢視幫助文件的

run()

方法!!

jdk1.5

public

synchronized

void

start()

private

native

void

start0();

public

void

run()

} jdk1.4

public

synchronized

native

void

start();

public

void

run()

}

使用者空間實現執行緒 核心實現執行緒 執行緒的排程

1 在使用者空間中實現執行緒 1 特點 把整個執行緒包放在使用者空間,核心對執行緒包一無所知。從核心角度考慮,就是按正常的方式管理,即單執行緒程序 存在執行時系統 2 優點 1 使用者級執行緒包可以在不支援執行緒的作業系統上實現。2 進而,它 可以呼叫執行緒排程程式來選擇另乙個要執行的執行緒 儲存該...

執行緒篇 執行緒的實現和執行緒安全

執行緒的實現?作業系統關於 執行緒實現 使用者級 執行緒核心級 執行緒組合模型 使用者級 執行緒建立 管理 銷毀,都由執行緒庫 完成開銷比較小 作業系統對執行緒的存在一無所知,作業系統只能看到程序,而不能看到執行緒。這種模式最致命的缺點也是由於作業系統不知道執行緒的存在,因此當乙個程序中的某乙個執行...

執行緒的簡單實現

public class threadsample public static class thread1 implements runnable catch interruptedexception e public static class thread2 extends thread catc...