Runnable的Eclipse自动完成工作,但不适用于Thread

时间:2012-03-28 12:28:40

标签: java eclipse multithreading runnable

如果我输入“new Runnable”并点击CTRL + SPACE,Eclipse允许我创建一个匿名内部类。但是,当我对“线程”执行相同操作时,它不会。

每次我需要一个匿名线程时,我都需要创建一个新的Runnable,然后将“Runnable”更改为“Thread”,这有点烦人。

有没有办法让Eclipse自动创建一个线程?

5 个答案:

答案 0 :(得分:3)

我认为Eclipse正在这样做,因为Thread是一个具体的类,而Runnable是一个接口。默认情况下,Eclipse可能不允许您创建一个扩展一个concreate的匿名类。

创建Thread的更常用方法是使用Runnable,但不限制您使用Thread基类:

 Thread thread = new Thread(new Runnable() {
     public void run() {
        ...
     }
 });
 thread.start();
 ...

答案 1 :(得分:2)

作为一种解决方法,您可以为线程创建创建新的模板

Eclise(至少在3.7中)alreay有一个Runnable。如果您在显示模板提案之前键入runnable然后再显示Ctrl+Space,则可以尝试使用此功能。

Thread创建新模板:

  • 打开模板视图Window > Show View > Templates
  • 选择runnable
  • 从上下文菜单中复制/粘贴
  • Runnable替换为Thread
  • ,以修改新模板

答案 2 :(得分:1)

确实来了。我不确定你是怎么按 Ctrl + Space

enter image description here

答案 3 :(得分:1)

点击此面板上的“新建”,然后创建一个新模板。然后,Ctrl-space将按预期工作。

enter image description here

答案 4 :(得分:0)

是。避免使用匿名内部类。你需要线程吗?它有什么重要意义吗?创建扩展线程并实现run()的普通类。

此外。避免随时创建线程实例。用户线程池,执行程序等。