gpt4 book ai didi

c++ - boost 多线程程序的非阻塞读写例程

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:11 26 4
gpt4 key购买 nike

我正在使用 boost C++ 编写线程间数据交换的代码。

一些线程需要异步读取或写入一些数据结构。

例如,我们有线程1和线程2。

当线程1需要从线程2获取一些数据时,如果线程1仍然得不到数据,它不应该被阻塞并且可以做其他事情然后再回去检查数据。

同样的事情也适用于线程 2。

boost非阻塞读写的API例程有哪些?

我在 boost 文档中找不到它。

我在这里找到了 solaris 的东西:

http://www.shrubbery.net/solaris9ab/SUNWdev/MTP/p31.html

我需要可以支持的 API 例程:

(1) 先贴出读写例程(2) 做其他事情(3) 然后返回查看数据是否已经可用

谢谢

最佳答案

What are the API routines of boost non-blocking read write , which can do that ?

谁说有?通常由您来创建这样的更高级别的功能。 Boost.Thread 用于创建线程并管理它们之间的同步通信。

您可以使用一对互斥锁轻松构建它。当生产者线程完成生产数据时,它会释放对互斥锁的锁定,从而允许消费者线程开始消费。您使用另一个互斥锁来防止生产者在消费者完成消费之前将新数据生成到缓冲区中。

关于c++ - boost 多线程程序的非阻塞读写例程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8235866/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com