Java 中Thread 和Runnable的區別
轉:http://blog.csdn.net/wwww1988600/article/details/7309070
在java中可有兩種方式實現多執行緒,一種是繼承Thread類,一種是實現Runnable介面;Thread類是在java.lang包中定義的。一個類只要繼承了Thread類同時覆寫了本類中的run()方法就可以實現多執行緒操作了,但是一個類只能繼承一個父類,這是此方法的侷限。
兩種實現方式的區別和聯絡:
在程式開發中只要是多執行緒肯定永遠以實現Runnable介面為主,因為實現Runnable介面相比
繼承Thread類有如下好處:
->避免點繼承的侷限,一個類可以繼承多個介面。
->適合於資源的共享(這是錯誤的)
解釋:在java 中,要想實現資源的共享,就要使用訊號量機制,有兩種方法:1,使用Semaphore 2,使用Synchronize具體例子就不搬了。
相關文章
- Java中Runnable和Thread的區別Javathread
- Thread和Runnable的區別thread
- Thread 和runnable的區別thread
- java執行緒系列---Runnable和Thread的區別Java執行緒thread
- Java中Thread 和Runnable 深入理解Javathread
- Android中Handler Runnable與Thread的區別詳解Androidthread
- 使用Thread類和Runnable介面實現多執行緒的區別thread執行緒
- 大話Android多執行緒(一) Thread和Runnable的聯絡和區別Android執行緒thread
- Handler post(Runnable runnable)和sendMessage(Message msg)的區別比較
- Thread(Runnable xxx)中的問題thread
- 併發-2-Thread和Runnable的APIthreadAPI
- java 中equals和==的區別Java
- Java中equals和==的區別Java
- JAVA多執行緒Thread VS Runnable詳解Java執行緒thread
- Thread是如何處理Runnable的thread
- java中的==和equal的區別Java
- java中==和equlas區別Java
- Java中Vector和ArrayList的區別Java
- Java中 equals() 方法和 == 的區別Java
- 對於java中的"\"和"/" 區別Java
- 在java中“equals”和“==”的區別Java
- Java中throw和throws的區別Java
- Java中堆和棧的區別Java
- JAVA 中interface 和 abstract 區別Java
- java中size()和length區別Java
- java面試題之Thread的run()和start()方法有什麼區別Java面試題thread
- Java中volatile和synchronized的區別Javasynchronized
- 轉android-Service和Thread的區別Androidthread
- Task.Delay 和 Thread.Sleep 的區別thread
- Java中ArrayList和LinkedList區別Java
- JAVA中Get和Post請求的區別Java
- java中list、set和map 的區別(轉)Java
- Java_Thread類的sleep()與SystemClock類的sleep()的區別Javathread
- 【Java】equals 和 == 的區別Java
- Java和Javascript的區別JavaScript
- java和html的區別JavaHTML
- 【Java面試】Mybatis中#{}和${}的區別是什麼?Java面試MyBatis
- 【Java面試】Spring中 BeanFactory和FactoryBean的區別Java面試SpringBean