runnable.run()是不是错了?

use*_*519 4 java multithreading android

我对多线程的概念还是比较陌生的,有一个方面我不清楚.

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

  1. 扩展Thread类和start()线程.
  2. 创建一个Runnable对象,将其传递给Thread构造函数和start()线程.

博客文章指出,我们始终应该使用启动一个线程start()左右是我对它的印象.

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

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

gue*_*est 5

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

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