gpt4 book ai didi

c++ - 如何知道何时终止线程?

转载 作者:太空狗 更新时间:2023-10-29 21:05:39 31 4
gpt4 key购买 nike

我正在设计线程库。到目前为止,我有一个初始化库的方法,一个创建线程的方法,一个将当前线程交给就绪线程队列中的下一个线程的方法。

在我继续为线程实现信号量之前,我认为我可能应该在线程完成后立即终止线程并释放分配给它们的内存,但我不知道该怎么做。如何判断线程何时“完成”?

最佳答案

您不只是安全或可靠地终止线程——让它们自然退出(当它们返回时)。

虽然系统提供了一种终止线程的方法,但几乎所有 C++ 程序在继续运行时都可能会出现未定义的行为。您可以想象这样的情况:可以 完成杀戮而没有副作用(对程序的其余部分),但该程序与惯用的 C++ 完全不同。这样的程序将非常奇特,有许多不寻常和严格的限制。

当您想知道线程何时退出时,可以在它退出之前添加一些清理以跟踪其状态。

当您希望能够(自然地)请求线程退出时,请考虑运行循环和消息。

关于c++ - 如何知道何时终止线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9440381/

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