Concurrent programming in the Java language
One of the most important features of the Java language is support for multithreaded (also called concurrent) programming. This tutorial introduces you to the proper use of multiple threads in a Java program, using sample programs to illustrate these concepts. Before taking this course, you should have a general knowledge of Java programming; the context and level of knowledge used in this tutorial is the equivalent of an undergraduate operating systems course.