Many applications work without multiple threads of concurrency.
In this world, a sequence of actions is completed in a linear, one-thread-of-thought-at-a-time manner.
Java makes it easy for developers to create multiple threads that essentially run simultaneously. (How this really works depends on what operating system your application is running on.)
A thread is considered lightweight because it runs within the context of a full-blown program.