【发布时间】:2015-11-11 16:54:20
【问题描述】:
您好,我最近看到一个博客,其中指出:
有时您可能必须实现 Runnable 以及子类 线。例如,如果创建一个 Thread 的子类,它可以 执行多个 Runnable。这通常是当 实现一个线程池。
我不确定这句话指的是什么场景。
你能帮我理解这种情况吗?
谢谢。
【问题讨论】:
-
你得问问作者。我看不出有什么理由必须对 Thread 进行子类化。您所需要的只是一个可以调用其他 Runnable 的 Runnable。顺便说一句,ThreadPoolExecutor 是一个相当复杂且有特色的线程池,它以 ThreadFactory 作为参数。所以它不必创建任何 Thread 子类。 docs.oracle.com/javase/7/docs/api/java/util/concurrent/…
-
我觉得你应该在作者的博客上问同样的问题,如果没有记错Jenkov
-
我认为“运行多个 Runnable 的线程”这一说法具有误导性。线程只能运行由其构造函数提供的 Runnable 实例,或者它可以自己运行,因为 Thread 本身就是 Runnable。后者发生在您继承 Thread 并覆盖其 run() 方法时。
标签: java multithreading threadpool