Start of a new thread
Start of a new thread and waiting
Asynchronous call
Asynchronous call with a result
Synchronization with the main thread
Synchronization with blocking
Starting a thread pool
Using parallelStream
Passing variables to a thread