【问题标题】:Threading synchronism 101 [closed]线程同步 101 [关闭]
【发布时间】:2012-12-07 10:46:32
【问题描述】:

我对线程基础有疑问。如果我启动一个新线程 T1,主线程必须等待 T1 加入或无需等待即可继续执行?

如果必须等待,我可以让主线程和新线程异步运行吗?

【问题讨论】:

    标签: c++ multithreading


    【解决方案1】:

    如果你不调用join() 两个线程同时执行。默认情况下,线程异步运行。 join() 阻塞调用线程,直到线程终止。


    我想补充一点,使线程同步执行,提供并发控制机制。

    大家可以探索一下POSIX Threads Programming

    【讨论】:

    • 嗨!所以,如果我输入我的代码t1.join(),主线程将不得不等待它,对吧?谢谢!。
    • 是的,如果在主线程中调用ti.join(),那么主线程将等待。
    • 另外一点,如果我不使用join(),一旦线程完成计算,它会自行与主线程重聚,不是吗?我的意思是,一旦完成,它就会自我毁灭。如果主线程在另一个线程之前完成怎么办?那么这将以未定义的行为结束,对吧?谢谢。
    • 如果主线程死了,那么它的所有子线程也将终止。
    • 别担心!我只对 C++ 感兴趣。我们忘记设置该标签:D 感谢您的链接!。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多