V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
guyeuro
V2EX  ›  问与答

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

  •  
  •   guyeuro · Sep 1, 2017 · 2253 views
    This topic created in 3160 days ago, the information mentioned may be changed or developed.

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

    4 replies    2017-09-01 12:03:01 +08:00
    XinLake
        1
    XinLake  
       Sep 1, 2017
    线程的解释权归操作系统,和编程语言没关系吧。
    那个 join 和 detah 是 POSIX 标准的,放到 windows 上不一定这样了。
    guyeuro
        2
    guyeuro  
    OP
       Sep 1, 2017
    @XinLake 我意思有没有类似的概念
    譬如在 c/c++里,在主线程里 new 了一个线程后,如果是 joinable,当前线程还要等待 new 的线程返回,否则就会造成“僵尸”线程,new 的线程执行完后资源不会回收,而 detached 的话,当前线程不用等待 new 的线程返回,两者完全解耦
    XinLake
        3
    XinLake  
       Sep 1, 2017
    @guyeuro
    Windows SDK C/C++ 编程相关的线程 API 说明里,没看到相关的说明或注意事项。
    POSIX 不了解,^^。
    shineMicroxy
        4
    shineMicroxy  
       Sep 1, 2017
    不了解 c 的 detach,你说的“ new 的线程执行完后资源不会回收”,Java 只会在子线程持有主线程的引用的情况下才会发生(比如内部线程引用了外部一个对象),否则子线程是否执行完不会影响主线程资源回收
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1463 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:07 · PVG 01:07 · LAX 10:07 · JFK 13:07
    ♥ Do have faith in what you're doing.