2011-09-11 32 views
0

我试图在boost :: threads之间进行数据交换通信。为多线程之间的数据交换提供异步(非阻塞)通信

不同的线程需要相互交换数据。每个线程 代表网络上的节点,以便每个线程在每次迭代时需要与其邻居节点通信 。

是否存在异步(非阻塞)通信API的提升?

例如,

non_block_send(receiver_address, data_buffer, data_volume, data_tag, send_status); 

non_block_recv(sender_address, data_buffer, data_volume, data_tag, recv_status); 

if (recv_status == TRUE) 
    getData(data_buffer); 
else 
    wait; 

回答

1

看看Boost.Asio,专为异步IO库。

+0

谢谢,但数据位于内存不在磁盘中。所有线程共享相同的内存空间。他们不需要访问磁盘。任何帮助真的很感激。 – Jack

+0

@Jack:使用Boost.Asio时无需磁盘访问。 – dalle

相关问题