Java 里线程有没有 c 语言里线程的 join 和 detach 的概念?

2017-09-01 10:58:08 +08:00
 guyeuro

是不是 java 里的线程是默认 detached ?

1693 次点击
所在节点    问与答
4 条回复
XinLake
2017-09-01 11:23:30 +08:00
线程的解释权归操作系统,和编程语言没关系吧。
那个 join 和 detah 是 POSIX 标准的,放到 windows 上不一定这样了。
guyeuro
2017-09-01 11:28:38 +08:00
@XinLake 我意思有没有类似的概念
譬如在 c/c++里,在主线程里 new 了一个线程后,如果是 joinable,当前线程还要等待 new 的线程返回,否则就会造成“僵尸”线程,new 的线程执行完后资源不会回收,而 detached 的话,当前线程不用等待 new 的线程返回,两者完全解耦
XinLake
2017-09-01 12:00:10 +08:00
@guyeuro
Windows SDK C/C++ 编程相关的线程 API 说明里,没看到相关的说明或注意事项。
POSIX 不了解,^^。
shineMicroxy
2017-09-01 12:03:01 +08:00
不了解 c 的 detach,你说的“ new 的线程执行完后资源不会回收”,Java 只会在子线程持有主线程的引用的情况下才会发生(比如内部线程引用了外部一个对象),否则子线程是否执行完不会影响主线程资源回收

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/387383

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX