|
Boost : |
Subject: Re: [boost] GSOC 2015 : Project on Concurrent Hash Tables
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2015-03-05 11:04:55
On 5 Mar 2015 at 19:34, Amarnath V A wrote:
> I have spent last few days trying to implement the move and copy
> constructors. But all my trials have ended up in failures.
The fact of failure isn't anything like as important as how you
failed. Can you tell us some more about exactly what failed and your
best guesses as to why?
> To be frank, right now I understand that I lack the basics of how to
> write concurrent data structures. I will like to have some pointers on
> where should I invest time to learn to how these are done elegantly.
> In particular, I would like to read upon how the constructors are
> written with thread safety and concurrency.
>
> Niall, any suggestions?
Well, I use http://en.cppreference.com/w/c/atomic/memory_order when
in doubt, but I appreciate that is not helpful to a student.
The only introductory resource I am aware of - and please, if anyone
else reading can help here please chime in - is Anthony William's
book "C++ Concurrency in Action: Practical Multithreading". I've
never read it, but Anthony was one of the main designers of
Boost.Thread, so I am taking it entirely on trust that his book is
solid.
I had been thinking this topic would be a standard course in Computer
Science by now, but a quick search of google shows it is an optional
final year module if present at all in most courses. This is a good
example of how universities produce students not useful to the
workplace. That said, MIT appear to have an electable web course on
shared memory concurrency at
http://web.mit.edu/6.005/www/fa14/classes/17-concurrency/, this might
be useful. I assume that might have something to do with Hartmut who
serves on the Boost steering committee and works at MIT, indeed more
notes on concurrent from him are available at
https://stellar.mit.edu/S/course/6/fa08/6.005/courseMaterial/topics/to
pic3/lectureNotes/Concurrency/Concurrency.pdf.
Do post here about the exact problems you're having though. It
wouldn't be a competency test if it were easy!
Niall
-- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk