Currently, the only thread class I use when I am programming parallel processes is java.lang.Thread. I know there are many more, and I would like to know them.

For example, I am going to do a little learning-project:
I execute some main thread/method. The main method start an infinite loop(some random work). Before that infinite loop starts, a timer start in a new thread thread. When it reaches zero, it start four new threads(simultaneously). When all these four threads have done their work, the infinite loop in the main method will stop(and the whole program is terminated).

I could probably make this learning project with the Thread class and some boolean variables, but are there easier ways?
Suggest me some classes that could make this project easier!