C++的std::promise和std::future的作用
时间: 2023-10-23 20:15:16 浏览: 108
C++11 <future>中std::promise 介绍
std::promise和std::future是C++11中的线程库中的两个重要的类,用于线程间的通信和同步。
std::promise类用于在一个线程中保存一个值,并在另一个线程中获取该值。它允许一个线程为另一个线程设置一个值,同时保证线程安全。
std::future类则用于在一个线程中获取另一个线程中保存的值。它允许一个线程等待另一个线程完成,并获取其返回值。它也提供了一些函数,比如wait()和get(),用于等待和获取值。
通常,std::promise和std::future一起使用,以便在两个线程之间传递值。一个线程使用std::promise设置值,另一个线程使用std::future获取该值。这种方式可以很好地解决线程间的同步和通信问题,特别是在多线程编程中非常有用。
阅读全文