看板java
标 题Re: [J2SE] Thread与Runnable
发信站KKCITY (Mon Jul 17 20:29:49 2006)
转信站ptt!ctu-reader!ctu-gate!news.nctu!news.ntu!bbs.ee.ntu!news.kkcity.com.
※ 引述《[email protected] (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
--