커널이 쓰레드를 인지하고 있고 쓰레드 단위로 스케줄하는 것이 커널 레벨 쓰레드다. 멀티 쓰레드는 여러개의 공유 자원으로 이루어져 있다. 커널 자체가 여러개의 쓰레드들로 구성되어 있을 경우 자원의 사용 측면에서 더욱 효율적이다. 또한 어떤 유저 레벨 쓰레드가 자원 사용을 위해 system call을 수행하고 있을 경우 해당 자원을 사용하지 않는 다른 쓰레드의 system call은 병렬로 수행할 수 있다. 더욱 자원 사용을 효율적으로 할 수 있다.
위 그림에서 커널은 쓰레드를 인식하고 있고 쓰레드마다 time slot을 할당할 수 있다. 프로세스 A는 100개의 쓰레드를 가지고 있고 100개의 쓰레드는 모두 1개의 time slot를 할당받을 수 있다. 프로세스 B는 1개의 쓰레드를 가지고 있고 1개의 time slot을 할당받을 수 있다. 따라서 프로세스 A와 B중 더 빠른 것은 프로세스A가 더 빠르다. time slot을 더 많이 할당 받았기 때문이다.