java里为什么有了Thread还要设置一个Runnable?
来源:互联网 发布:java软件开发兼职 编辑:程序博客网 时间:2024/04/29 05:08
我学习多线程疑惑,为什么会有这种代码出现:
public static void main(String[] args) { Thread t = new Thread(new Runnable() { public void run() { System.out.println("this is a runnable"); } } ); t.start();}
不是有个更简便的方法吗?
Thread t = new Thread() { public void run() { System.out.println("this is a thread"); }};t.start();
虽然很容易知道Runnable是个接口,而Thread是Runnable的一个具体实现。但是既然concurrent包中只有Thread一个类实现,那些Runnable这个接口到底有什么用?
答案就是用户可能会使用到多类继承,但是这在java中是禁止,只能用interface实现。比如我想设计一个任务队列,然后这个任务可以随时开启一个线程运行。
class TaskQueue <T> extends LinkedList<T> implements Runnable { @Override public void run() { //... }}
0 0
- java里为什么有了Thread还要设置一个Runnable?
- Java有了继承,为什么还要接口
- android进程优先级&有了Thread为什么还要使用service
- 有了lisk,为什么我们还要做一个Asch?
- java多thread 一个runnable
- java中有了基本类型为什么还要有包装类型?
- 有了进程为什么还要线程?
- 有了gpio_request为什么还要gpio_request_one
- 有了百度为什么还要读书
- 有了malloc/free为什么还要new/delete
- 有了malloc/free为什么还要new/delete ?
- 有了malloc/free为什么还要new/delete
- 有了malloc/free为什么还要new/delete?
- 有了OpenMP,MPI,为什么还要MapReduce?
- 有了malloc/free为什么还要new/delete?
- 有了malloc/free为什么还要new/delete?
- 有了CPL和DPL,为什么还要RPL
- 有了"数据库"为什么还要用"xml" ?
- 【codeforces】Tricky Sum
- 指针与数组
- Android 之6.0 双向通话自动录音
- CentOS6.5下安装mysql5.5
- Redis学习笔记四:redis的持久化
- java里为什么有了Thread还要设置一个Runnable?
- 赠书通知-让我过往的书发挥余热!
- JQuery摘要
- RESTful
- Android初学之Service(一)
- CCNA系列九之others
- Android学习路线图
- 学习笔记之优化算法
- 配置asp.net网站的错误页