Java is a programming language that supports multithreading. This means that a process (application) can be divided into different parts. These subtasks can be processed “in parallel” by different threads. In terms of content, individual threads are a sequential sequence of instructions. Viewed as a whole, however, they run “parallel” to other threads.