如果我输入“new Runnable”并点击CTRL + SPACE,Eclipse允许我创建一个匿名内部类。但是,当我对“线程”执行相同操作时,它不会。
每次我需要一个匿名线程时,我都需要创建一个新的Runnable,然后将“Runnable”更改为“Thread”,这有点烦人。
有没有办法让Eclipse自动创建一个线程?
答案 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 。
答案 3 :(得分:1)
点击此面板上的“新建”,然后创建一个新模板。然后,Ctrl-space将按预期工作。
答案 4 :(得分:0)
是。避免使用匿名内部类。你需要线程吗?它有什么重要意义吗?创建扩展线程并实现run()
的普通类。
此外。避免随时创建线程实例。用户线程池,执行程序等。