gpt4 book ai didi

Java:扩展 Thread 而不实现 run()

转载 作者:行者123 更新时间:2023-12-01 18:47:48 27 4
gpt4 key购买 nike

我是一名技术作家,了解一些 Java,我的任务是跟踪一些旧的、高度线程化的 Java 代码中的线程。该代码的原始作者已不在这里,因此我们正在尝试弄清楚它到底是如何工作的。我遇到过一个扩展 Thread 的类,但没有实现 run() 方法。扩展Thread但不实现run()(如果有的话)有什么意义?

我确实注意到这个类的方法之一是synchronized:

public synchronized void incrementCounter() {
this.counter++;
}

但所有其他方法似乎都是不同步的。事实上,大多数其他方法只是 getter 和 setter。为了声明方法同步,是否需要扩展Thread或实现Runnable?谢谢!

最佳答案

我的猜测是,这段较旧的代码是在一些标准线程池库、ExecutorService 等之前编写的。所以也许这是该公司尝试实现类似的功能。 (或者这里没有发明的响应)只要代码总是这样做

Thread thread = new ThisSpecialThreadClass(someRunnable);
thread.start();

您将获得它所具有的任何“好处”,并且正如您在评论中指出的那样,它最终应该调用 someRunnable.run()。

关于Java:扩展 Thread 而不实现 run(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16971890/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com