runnable.run()是不是错了?

时间:2014-04-04 03:06:01

标签: java android multithreading

我是多线程概念的新手,有一个方面我不清楚。

创建和运行线程有两种方法:

  1. 扩展Thread类和start()线程。
  2. 创建一个Runnable对象,将其传递给Thread构造函数和start()线程。
  3. 并且this博客文章指出,我们总是应该使用start()左右开始一个帖子,这是我对它的印象。

    但在其中一个答案here中,您可以看到一个人如何使用runnable.run()。它让我觉得有些错误的做法。

    这是正常的吗?是否应该避免?您可以明确答复,但任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:5)

他们只是不同的东西。 run()在当前线程中执行Runnable。另一方面,调用start()会导致Runnable在新线程中运行。

教程指出它是一个陷阱。你经历了所有麻烦来创建一个线程,所以如果你继续在当前线程中运行它,那么它可能是一个错误。