【发布时间】:2015-10-11 00:04:51
【问题描述】:
能否请您简要说明以下线程实现之间是否存在显着差异:
// Method 1
Thread aThread = new Thread()
{
@Override
public void run()
{
// do some work
}
};
aThread.start();
// Method 2
Thread bThread = new Thread(new Runnable()
{
@Override
public void run()
{
// do some work
}
});
bThread.start();
我试图在stackoverflow中找到类似的问题,但没有成功。抱歉,如果之前已经讨论过。
【问题讨论】:
-
@MarkW ,请在发表评论之前阅读我发布的链接。这是一个很好的例子:stackoverflow.com/a/15226278/950427 来自我提供的链接。
-
完全没有区别。实际上,这两种方法都是同样糟糕的做法。您应该改用
Executor或ExecutorService。 -
Jared Burrows,请解释一下为什么是一样的? Federico Peralta Schaffner,谢谢您的回答。但是你能解释一下为什么这是不好的做法吗?
-
@SaQada docs.oracle.com/javase/8/docs/api/java/util/concurrent/…
Executor抽象出Thread创建和管理的细节。
标签: java multithreading runnable