文章目录
- 主要特点
- 基本用法
- 示例代码
- 使用场景
- 注意事项
std::promise
是 C++11 引入的一个模板类,位于 <future>
头文件,用于实现异步操作中的值传递和异常传递。它与 std::future
一起使用,提供了一种机制,使得一个线程可以将结果或异常传递给另一个线程。
主要特点
- 异步结果存储:
std::promise
允许你设置一个值,这个值可以在未来的某个时刻由另一个线程获取。这个过程通常是通过std::future
来实现的。 - 异常传递:如果在设置结果的过程中发生了异常,
std::promise
也可以传递这个异常。接收方通过std::future::get()
可以获得该异常。 - 线程安全:
std::promise
是线程安全的,可以在一个线程中设置值,另一个线程中读取值。
基本用法
-
创建
std::promise
实例: