Hi all, There is multi-threaded application which will access data containers at the same time. Which is the best choice between synchronization and strands. Thanks, dd
On 1/08/2014 00:19, dd wrote:
There is multi-threaded application which will access data containers at the same time. Which is the best choice between synchronization and strands.
Strands are a kind of synchronisation. I assume you meant mutexes. Your question is too general and it's not really possible to answer it. Different solutions will be optimal (in performance) depending on the load characteristics of the application and any timing guarantees that it requires; this may or may not coincide with which style of code you find it simpler to write and verify for correctness.
On 7/31/2014 7:12 PM, Gavin Lambert wrote:
On 1/08/2014 00:19, dd wrote:
There is multi-threaded application which will access data containers at the same time. Which is the best choice between synchronization and strands.
Strands are a kind of synchronisation. I assume you meant mutexes.
I would guess the OP meant Boost Fibers when 'strands' was mentioned.
Your question is too general and it's not really possible to answer it. Different solutions will be optimal (in performance) depending on the load characteristics of the application and any timing guarantees that it requires; this may or may not coincide with which style of code you find it simpler to write and verify for correctness.
On 1/08/2014 12:06, Edward Diener wrote:
On 7/31/2014 7:12 PM, Gavin Lambert wrote:
On 1/08/2014 00:19, dd wrote:
There is multi-threaded application which will access data containers at the same time. Which is the best choice between synchronization and strands.
Strands are a kind of synchronisation. I assume you meant mutexes.
I would guess the OP meant Boost Fibers when 'strands' was mentioned.
I meant that I was assuming they meant "between mutexes and strands". "Strands" I assume referred to ASIO strands, since that's the only thing with that name and the ASIO docs cite them as "an alternative to explicit locking" -- which of course still means that there are locks behind the scenes, just that the user code doesn't have to worry about them. There are many similarities with fibers/coroutines though.
participants (3)
-
dd
-
Edward Diener
-
Gavin Lambert