本文共 284 字,大约阅读时间需要 1 分钟。
优先使用task-based 接口,而不是使用thread-based (std::thread).
auto future = std:: async(std::launch::async,...); std::async 提供获取返回值的能力,也有更好的错误处理。对于一次性的事件的通信(比如在线程的外部控制线程的终止),优先使用 std::promise/ std::future,而不是 std::condition_variable+ flag ,前者的接口更加的简单不容易出错,可读性质也更加的好。
配合使用std::automic 实现无锁的数据共享。
转载地址:http://jdwmi.baihongyu.com/