【发布时间】:2013-12-20 16:00:58
【问题描述】:
假设我有一个名为“示例”的课程
在“示例”中,我有一个可运行的内部类
我在“示例”中执行可运行文件
public class Example {
public Example() {
//executing the runnable here
}
private void a() {
}
public void b() {
}
public class RunMe implements Runnable {
public void run() {
a();
b();
}
}
}
假设 Example 在主线程上运行会发生什么?
a 和 b 是从 RunMe 线程还是主线程运行?
a 是私有的,b 是公开的重要吗?
【问题讨论】:
-
我在您的代码中看不到线程:假设您创建为示例字段,将可运行对象传递给线程并执行它,在线程中执行 Runme,可以看到 a 和 b是一个内部类,不管修饰符。
-
是的,我的意思是在Example的构造函数中的线程中执行runnable,所以你的意思是说Example的两个方法都将在线程上运行而不是在主线程上运行?
标签: java multithreading inner-classes