社区
Java SE
帖子详情
为什么实现了Runnable 接口就能实现多线程?
xddy
2003-04-04 05:58:00
对这个问题有点迷惑? 个人猜想是JVM对Runnable 接口做了处理。
如果是我想的是对的,那我们自己写的接口除了在设计模式上,还有什么用处?
...全文
179
11
打赏
收藏
为什么实现了Runnable 接口就能实现多线程?
对这个问题有点迷惑? 个人猜想是JVM对Runnable 接口做了处理。 如果是我想的是对的,那我们自己写的接口除了在设计模式上,还有什么用处?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cyicecream
2003-04-07
打赏
举报
回复
UPUP
乡野村夫卍宸昊
2003-04-07
打赏
举报
回复
up
jsyx
2003-04-07
打赏
举报
回复
Runnable接口只是一个标记,分离了具体的线程实现类。虚拟机只需要与Runnable类型的对象进行交互。说白了,就是松散耦合。
public synchronized native void start();
是本地方法,大概是用c/c++实现的。这部分原码好象是不公开的
xddy
2003-04-07
打赏
举报
回复
public synchronized native void start()
是怎么写的。
jackal81
2003-04-06
打赏
举报
回复
楼上说的是递归吧,可是那时调用本身的类呀!
在类中的方法调用自己,以实现多线程。
大道如海
2003-04-06
打赏
举报
回复
那我们自己写的接口除了在设计模式上,还有什么用处?
____________________________________________________
昨天看到一篇文章,他用接口在两个类之间进行连接,减少了类之间的依赖程度,
可以更好的进行代码的重用。
mercury1231
2003-04-05
打赏
举报
回复
呵呵,有了run方法,还有什么不能解决的呢?
jsyx
2003-04-04
打赏
举报
回复
已经写得很清楚了
具体线程的初始化,是在public synchronized native void start()这个本地方法中完成的
Runnable接口只是一个类型标记。
xddy
2003-04-04
打赏
举报
回复
我是说为 为什么实现了Runnable 接口就能实现多线程?
jsyx
2003-04-04
打赏
举报
回复
Thread.class类内部定义了一个实例变量,类型为Runnable,如下:
private Runnable target;
默认的run()方法为
public void run() {
if (target != null) {
target.run();
}
}
如果在构造器传入了Runnable对象,并且没有override run()方法的话,就会调用target的run方法。
具体线程的初始化,是在public synchronized native void start();这个本地方法中完成的
因此,Runnable接口只是一个类型标记。
具体你可以读Thread.java的源代码。
blh
2003-04-04
打赏
举报
回复
其实是Thread实体调用你继承Runnable 接口的run方法
为什么通过
实现
Runnable
接口
的方式可以
实现
多线程
内的资源共享
为什么通过
实现
Runnable
接口
的方式可以
实现
多线程
内的资源共享 解决方法: 现在举例子说明一下: public static void main(String[] args) { Meal meal= new Meal(10); //假如现在有10个套餐 //Person1和Person2都
实现
了
Runnable
接口
,共享meal中的成员变量数据 ...
你不知道的
Runnable
接口
,深度解析
Runnable
接口
本文描述的是Android中的
Runnable
接口
。因Android中的线程源自于Java,所以首先需要了解Java中的线程,有关Java中的线程请看这篇文章Android(线程一) 线程 ! Java开发中,我们
实现
多线程
,有两种方式,一种是继承Thread类,一种是
实现
Runnable
接口
。但是,我们真的理解
Runnable
?
Runnable
和Thread一样吗?都是开...
java基础之
多线程
五:
实现
Runnable
的原理
java基础之
多线程
五:
实现
Runnable
的原理
实现
Runnable
接口
的原理. 背景:
多线程
的第一种
实现
方式是::继承Thread类, 因为我们自定义的类(MyThread)是Thread类的子类, 所以MyThread类的对象调用start()方法的时候, 自动调用MyThread#run(), 这个我们可以...
多线程
-
实现
Runnable
接口
当一个任务或者函数多个线程同时调用时仅仅继承Thread是不行的。需要
实现
Runnable
接口
。 好处: 1.将线程的任务从线程的子类中分离出来,进行了单独的封装。 按照面向对象的思想将任务封装成对象。 2.避免了java单继承的局限性。 //
实现
Runnable
接口
,将线程执行的任务添加到run方法中。 class Demo implements
Runnable
{ public...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章