java的两种线程模型是什么?[面试4.0]

用户线程(ULT): 由用户应用程序实现的线程
线程切换不需要内核模式,能节省内核资源,速度快
每个进程仅有一个ULT能执行,一个线程阻塞则进程阻塞
可以由用户应用程序自己实现调度算法
内核线程(KLT): 由内核实现的线程管理
线程的创建,调度和管理由内核完成,速度慢
线程阻塞不会引起进程阻塞(进程中的一个线程被阻塞,内核能调度同一进程的其他线程(就绪态)占有处理器运行)
内核保存线程的状态和上下文信息,以便恢复线程时继续执行
java线程与系统内核线程-杨过