Introduction Writing concurrent data structures using traditional tools — just like everything else under java.util.concurrent — is generally very complicated. You need to really think about what you are doing to avoid typical concurrency issues, such as deadlocks and race conditions. …