【发布时间】:2012-10-15 21:38:44
【问题描述】:
我正在尝试了解线程并在互联网上找到一些示例。这是一个每 3 秒输出“hello, world”的 java 类。但是我有一种感觉,关于创建 Runable 对象的部分是多余的。
而不是写
Runnable r = new Runnable(){ public void run(){...some actions...}};
我可以将方法run() 放在其他地方以便于阅读吗?
这就是我所拥有的:
public class TickTock extends Thread {
public static void main (String[] arg){
Runnable r = new Runnable(){
public void run(){
try{
while (true) {
Thread.sleep(3000);
System.out.println("Hello, world!");
}
} catch (InterruptedException iex) {
System.err.println("Message printer interrupted");
}
}
};
Thread thr = new Thread(r);
thr.start();
}
这就是我想要完成的事情
public static void main (String[] arg){
Runnable r = new Runnable() //so no run() method here,
//but where should I put run()
Thread thr = new Thread(r);
thr.start();
}
【问题讨论】:
-
除了下面的实际答案,考虑学习如何使用 IDE 的重构工具来做这样的事情(将匿名类变成内部类或“普通”非嵌套类)。
标签: java multithreading redundancy