gpt4 book ai didi

java - 为什么线程启动和运行方法不返回任何内容?

转载 作者:行者123 更新时间:2023-12-02 02:40:00 25 4
gpt4 key购买 nike

我想知道为什么Thread.start(现有的JDK1.0)方法被设计为不返回对象。我知道开发人员可以使用类似的可调用函数,但它的出现要晚得多,即 JDK 1.5。我认识到人们可以使用一种解决方法,例如在线程构造函数中传递结果容器来包含线程结果,但我再次想知道为什么它没有设计为返回结果。

我在这里遗漏了什么吗?就设计而言是否良好(例如消除了显式返回 null 的需要,即使不需要)还是设计缺陷?

最佳答案

Thread.start() 只是启动线程执行并返回。通常在返回时线程仍在执行,甚至等待开始执行,因此还没有结果可返回。由于此时没有任何内容可返回,因此 Thread.start() 不返回任何内容是有意义的。

Thread.run() 通常不会由您的代码调用,因为调用它会在现有线程中运行该方法,而不是在新线程中运行该方法。相反,Thread.run() 是在 Java 虚拟机 (JVM) 创建新线程后在新线程中调用的。 JVM 代码当然不知道您的线程应该做什么,也不知道如何处理返回值,因此 Thread.run() 也没有返回值。 p>

关于java - 为什么线程启动和运行方法不返回任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45651027/

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