Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

4
  • Thanks for the book suggestion. I will likely pick it up. Commented May 25, 2012 at 18:58
  • Threading is really hard. Not every programmer is up to the challenge. In the business world, every time I saw threads used, they were surrounded by locks in such a way that no two threads could run at the same time. There are rules you can follow to make it easier, but it's still hard. Commented Oct 12, 2012 at 11:36
  • @GlenPeterson Agreed, now that I have more experience (since this answer) I find that we need better abstractions to make it manageable and to discourage sharing data. Fortunately, language designers seem to work hard on this. Commented Oct 12, 2012 at 12:41
  • I've been really impressed with Scala, specifically for bringing functional programming benefits of immutability, minimal side effects to Java, which is a direct descendant of C++. It runs on the Java Virtual Machine, so may not have the performance you need. Joshua Bloch's book, "Effective Java" is all about minimizing mutability, making airtight interfaces, and thread safety. Even though it's Java based, I bet you could apply 80-90% of it to C++. Questioning mutability and shared state (or the mutability OF shared state) in your code reviews might be a good first step for you. Commented Oct 14, 2012 at 13:43