Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中声明线程的首选方法是什么?_Java_Multithreading - Fatal编程技术网

java中声明线程的首选方法是什么?

java中声明线程的首选方法是什么?,java,multithreading,Java,Multithreading,我们可以使用两种方法在类中声明线程 扩展线程类 实现可运行的接口 那么哪种情况是最好的方法呢?没有“最好的”,它们都是好的。不过,这是最合适的 对于90%以上的情况,实现Runnable是一条可行之路。 除非您需要更改Thread类提供的功能,否则您不应该扩展Thread。您应该实现Runnable,因为您只能扩展一个类,并且您可能希望使用它来扩展无法实现的内容。是的,但我们可以在super类中扩展Thread类。我说的对吗?可以,它没有什么问题,但最好实现Runnable,以防您现在或以后想要

我们可以使用两种方法在类中声明线程

  • 扩展线程
  • 实现可运行的
    接口
  • 那么哪种情况是最好的方法呢?

    没有“最好的”,它们都是好的。不过,这是最合适的

    对于90%以上的情况,实现Runnable是一条可行之路。
    除非您需要更改Thread类提供的功能,否则您不应该扩展Thread。

    您应该实现Runnable,因为您只能扩展一个类,并且您可能希望使用它来扩展无法实现的内容。

    是的,但我们可以在super类中扩展Thread类。我说的对吗?可以,它没有什么问题,但最好实现Runnable,以防您现在或以后想要扩展某些东西。Sasikumar:线程就是那个超类,有更好的说法。
    新线程(r)
    中的
    r
    成为线程的委托。使用委托通常是一种比使用继承更强大、更灵活的程序结构方式。它通常使代码更容易测试和修改。你是说“首选”方式吗?