User threads are threads that the user creates (such as in Java / pthreads library).

The operating system will generally map user threads to kernel threads for execution in a one-to-one fashion. But there are possible many-to-one and many-to-many mappings but these are less common.