Testing Concurrent Applications

So far in the “Java Concurrency Essentials” course we have been introduced to Threads and Concurrency, we have discussed concurrency fundamentals like Deadlocks and Object Monitors, we explored the java.util.concurrent Package, we discussed the topic of performance for multi-threaded applications and we messed around with the Fork/Join Framework.

In this final lesson, we will discuss the testing of multi-threaded applications. We implement a simple blocking queue and test its blocking behavior as well as its behavior and performance under stress test conditions. Finally we shed some light on available frameworks for unit testing of multi-threaded classes (e.g. JMock, Grobo Utils, etc).

Get started here