c++ 14并发编程技巧

    xiaoxiao2025-10-09  13

    优先使用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 实现无锁的数据共享。

    最新回复(0)