Java Concurrency: The Basics

The Power of Multi-Threading in Java

This article describes the basics of Java Concurrency API, and how to assign work to be done asynchronously.

A thread is the smallest unit of execution that can be scheduled by the operating system, while a process is a group of associated threads that execute in the same, shared environment.

You may also like: [DZone Refcard] Core Java Concurrency

We call “system thread” the thread created by the JVM that runs in the background of the application (e.g. garbage-collector), and a “user-defined thread” those which are created by the developer.