A process is a executing code in an environment. A process has one or more threads. The threads of a process share the process' resources -- including memory. (threads are called light-weight processes).
You start with the main thread. The main thread can create additional threads. There are two main ways to manage (create and control) threads:
One way to create a thread is to implement a runnable interface
invokeLater
GUI