Hi, I am trying to do data-exchange communication among boost::threads. Are there asynchronous (non-blocking) communication APIs in boost ? For example, 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; Any help is really appreciated. Thanks
Hi Jack!
Use boost.interprocess:
http://www.boost.org/doc/libs/1_47_0/libs/interprocess/index.html
niXman
2011/9/11 Jack Bryan
Hi,
I am trying to do data-exchange communication among boost::threads.
Are there asynchronous (non-blocking) communication APIs in boost ?
For example,
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;
Any help is really appreciated.
Thanks
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
Thanks
How about the overhead if I use the IPC to work for inter-thread communication ?
Are there examples about how to use the IPC to do inter-thread comm ?
Any help is really appreciated.
Thanks
Jack
Date: Sun, 11 Sep 2011 20:15:23 +0400
From: i.nixman@gmail.com
To: boost-users@lists.boost.org
Subject: Re: [Boost-users] boost thread (non-blocking) communication
Hi Jack!Use boost.interprocess: http://www.boost.org/doc/libs/1_47_0/libs/interprocess/index.html
niXman
2011/9/11 Jack Bryan
I am trying to do data-exchange communication among boost::threads. Are there asynchronous (non-blocking) communication APIs in boost ? For example, 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;
Perhaps futures can be helpful: http://www.boost.org/doc/libs/1_47_0/doc/html/thread/synchronization.html#th...
Jack Bryan wrote:
Hi,
I am trying to do data-exchange communication among boost::threads.
Are there asynchronous (non-blocking) communication APIs in boost ?
For example,
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;
Any help is really appreciated.
Thanks
I used circular buffer - specifically the "bounded buffer" example to implement this behavior. I found it to be a perfect and easy to use solution. Robert Ramey
participants (4)
-
Igor R
-
Jack Bryan
-
niXman
-
Robert Ramey