On 23/10/2013 12:56, Quoth Greg Barron:
I would like to refer you to this bug report: https://svn.boost.org/trac/boost/ticket/9203
Interesting. I was recently working on something new that I was hoping to use Asio for but kept running into unacceptably long lock delays (~300ms). The code did make use of parallel jobs on supposedly independent strands so this could have been the culprit.
I've implemented a work around which could only be described as a hack and would be embarrassed to show it to anybody. But it gets me over my hump :).
I actually ended up abandoning Asio and rolling my own threadqueue (I didn't want any of the socket-related stuff so this wasn't as big a job as it sounds). Mine isn't fully-baked yet (and it's Windows-only for the moment) and I'm not sure I'd want to show it off either, but on the upside most of the guts are entirely lock-free (though not wait-free, since it's based on Boost.LockFree's queue).