Chapter 11. Testing and debugging multithreaded applications

This chapter covers

  • Concurrency-related bugs
  • Locating bugs through testing and code review
  • Designing multithreaded tests
  • Testing the performance of multithreaded code

Up to now, I’ve focused on what’s involved in writing concurrent code—the tools that are available, how to use them, and the overall design and structure of the code. But there’s a crucial part of software development that I haven’t addressed yet: testing and debugging. If you’re reading this chapter hoping for an easy way to test concurrent code, you’re going to be sorely disappointed. Testing and debugging concurrent code is hard. What I am going to give you are some techniques that will make things easier, alongside ...

Get C++ Concurrency in Action, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.