c++ detach()报这个错terminate called after throwing an instance of 'std::system_error'
时间: 2023-09-25 07:12:25 浏览: 48
C++错误提醒
`std::system_error`是一个标准库异常,它表示底层系统错误。当 `detach()` 调用失败时,它会抛出这个异常。
常见的原因是,你在调用 `detach()` 之前已经销毁了线程对象,或者线程对象本身已经被销毁了,这时 `detach()` 方法就无法执行了。
你可以在调用 `detach()` 方法前检查线程对象是否可用。如果线程已经被销毁,你可以使用 `joinable()` 方法检查。如果返回值为 `false`,说明线程已经被销毁,不能再调用 `detach()` 方法。
阅读全文