gpt4 book ai didi

一个线程调用另一个线程类函数的 Java 线程堆栈分配

转载 作者:行者123 更新时间:2023-12-02 01:04:52 32 4
gpt4 key购买 nike

我试图了解哪个函数在哪个线程堆栈上运行。假设类(class) A延伸Thread ,并且有一个方法 add() 。如果add()run() 内部调用,那么我假设它将添加到 A 之上的线程堆栈,但如果我错了,请纠正我。现在,如果 A 会怎样?正在运行,但另一个 Thread B调用Aadd()方法。将该功能添加到 B 中吗?的堆栈或 A的堆栈。我是并发编程的新手,如果这个问题没有任何意义,我很抱歉。

最佳答案

在大多数情况下,建议不要扩展Thread。扩展线程的类与不扩展线程的类的行为没有任何不同。

那么我们来修改一下问题。假设类 A 实现了 Runnable 并且另外还有一个方法 add。显然,add 方法与线程完全无关。 add 与调用它的方法在同一线程上执行。

类似的run(无论是在Thread中还是在Runnable中)在调用它的线程中运行。这就是为什么你调用 Thread.start - 调用 Thread.run 是没有意义的。

关于一个线程调用另一个线程类函数的 Java 线程堆栈分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60202388/

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