Re: [J2SE] Thread與Runnable

看板java作者時間19年前 (2006/07/17 20:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
※ 引述《PttHuge.bbs@ptt.cc (philips768快降吧)》之銘言: > 我想大家都清楚Thread是一個class > Runnable為一個interface > 透過extend thread,或是implement Runnable > 都可以達到thread of control的功能 > 在Java Threads本書中 > 作者提到Thread與Runnable之間的差別 > 並不只有單純的關於Java中multiple inheritance的問題 > 如果想知道關於Thread與Runnable之間的issue > 不知道有哪位前輩已經有研究,也歡迎分享一下 ^_^ > 英文太差,上google查竟然查不太到小弟要找的issue >_< Thread 就是執行緒, 真的是執行 "指令" 的那個東東. Runnable 則是一個 "能被跑 (執行) 的程式段". 本身是 不會執行的, 得要有能執行 (by invoking run()) 它. 那你要誰去執行它? 就是找一條 thread 了. 用 Runnable 和 Thread 的分別, 是前者你是弄好一個 Command, 讓一個執行者 (Thread) 來執行. 後者則是 弄一個特別的執行者出來跑你早已預定的 Code. 看一看 JDK 5 裡面的 Executor 和 Callable. 其實 Callable 的用意和 Runnable 就差不多 (只是 Callable 加了 return value). 記得見過有些 Thread Pool 之類的 implementation 也是接受 Runnable的. 簡而言之, Runnable 是一個指令. Thread 是指令執行者 Alien -- ┌─────KKCITY─────┐─┐ 優質連線服務///!! bbs.kkcity.com.tw └─ KKADSL 帶你環遊全世界 └──From:219.77.1.32 ──┘ KKADSL http://adsl.kkcity.com.tw --
文章代碼(AID): #14kuD500 (java)
文章代碼(AID): #14kuD500 (java)