迎難而上
先看一下java線程運行時各個階段的運行狀態 java實現多線程有兩種方法
1、繼承Thread類
2、實現Runnable接口
這兩種方法的共同點:
不論用哪種方法,都必須用Thread(如果是Thead子類就用它本身)產生線程,然后再調用start()方法。
兩種方法的不同點:
1、繼承Thread類有一個缺點就是單繼承,而實現Runnable接口則彌補了它的缺點,可以實現多繼承
2、繼承Thread類必須如果產生Runnable實例對象,就必須產生多個Runnable實例對象,然后再用Thread產生多個線程;而實現Runnable接口,只需要建立一個實現這個類的實例,然后用這一個實例對象產生多個線程。即實現了資源的共享性 基于以上兩點所以建議用第二種方法
下面用例子來做說明
程序1:
程序的運行結果是:
這是繼承了Thread類,第一種方法產生多個Runnable實例對象,然后用Thread產生多個線程
第二種方法,因為這個類已經繼承了Thread類,所以就可以直接利用它本身產生多個線程
程序2:
程序運行結果:
這個程序是實現Runnable了,產生一類的實例對象,然后用Thread產生多個線程。
posted on 2010-11-07 18:11 馮魁 閱讀(7732) 評論(0) 編輯 收藏
Powered by: BlogJava Copyright © 馮魁