User threads in separate processes. Thread switching is done by the kernel and all data is shared between threads. The thread package manages the standard thread calls to allow sharing data between threads. LinuxThreads is using this method. Lots of processes.
Thread creating is slow.
If one thread dies the rest are usually left hanging and one has to kill them all before restarting. Thread switching is somewhat expensive. Thread switching is handled by the thread library or the kernel and is very fast. Everything is done in one process but 'ps' may on some systems show the different threads. If one thread aborts the whole process aborts.