std::promise 解释下这个
时间: 2023-08-19 12:05:12 浏览: 127
thousandeyes-futures:C ++ std的延续
`std::promise` 是 C++11 标准库中的一个类,它是一种线程间同步的机制,用于在一个线程中产生某个值或者异常,并在另一个线程中获取该值或异常,也可以将该值或异常绑定到一个 `std::future` 对象上,方便后续异步获取该值或异常。
`std::promise` 对象一般通过 `std::promise::get_future()` 方法获取一个 `std::future` 对象,然后在另一个线程中调用该 `std::future` 对象的 `get()` 方法即可获取 `std::promise` 对象中设置的值或异常。
`std::promise` 对象可以通过 `std::promise::set_value()`、`std::promise::set_exception()` 方法设置一个值或异常,也可以通过 `std::promise::set_value_at_thread_exit()`、`std::promise::set_exception_at_thread_exit()` 方法在当前线程退出时设置一个值或异常。
阅读全文