
Iulian V. B. answered 10/23/19
Computer Scientist, PhD Candidate at Harvard University
In order to create threads one has to ask the operating system through system calls. What is being done with the created threads implies if they are user-level or kernel-level.
With kernel level threads, they are just being created to execute a piece of code and each time a new task is available, a new thread is created through the system calls.
On the other hand, user level threads are just created once using system calls, and they are kept alive so that each time a task becomes available for execution, it can do so immediately.