来自http://coding-geek.com/how-databases-work/#Global_overview
流程管理器:许多数据库都有一个需要管理的流程/线程池。此外,为了获得纳秒,一些现代数据库使用自己的线程而不是操作系统线程。
应用程序线程和os线程之间有什么区别?
答案 0 :(得分:0)
"应用程序线程"是M:N thread model, or hybrid threading的另一种形式。
M:N将一些M个应用程序线程映射到N个 内核实体,[10]或"虚拟处理器。"这是妥协 在内核级别(" 1:1")和用户级别(" N:1")之间进行线程化。在 一般来说," M:N"线程系统的实现比实现起来更复杂 内核或用户线程,因为内核和内核都有变化 用户空间代码是必需的。在M:N实现中,线程化 library负责调度可用的用户线程 可调度实体;这使得线程的上下文切换非常紧密 快,因为它避免了系统调用。 然而,这增加了复杂性 和优先级倒置的可能性,以及次优 调度之间没有广泛(和昂贵)的协调 userland调度程序和内核调度程序。
似乎总是尝试使用"应用程序线程"提高绩效。
Java做到了 - "绿色线程"。并将其放在Java 1.2周围。
Solaris曾经有一个M:N线程模型,并从Solaris 8开始删除它。
AFAIK,Windows和Linux从未去过那里。