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/