I'm aiming to learn about concurrency in Java. Currently my state of knowledge is poor. I'm pretty sure I know what "volatile" means. I sort of know what "synchronized" means. Sometimes. I've never written code that starts threads or manages them. Outside of this issue, I feel confident and at home working in Java.
I'm looking for suggestions for a small project or program which will require understanding concurrency to work correctly and efficiently.
Any suggestions much appreciated!