西安数据恢复中心
首页 | 联系方式 | 加入收藏 | 设为首页

服务项目

站内搜索

联系方式

办公地址:西安市未央区未央路130号(市图书馆旁)
联系电话: 18091827330

当前位置:主页 > 硬盘维修资料 > 正文

MySQL线程软件包之间的差异

编辑::西安硬盘维修中心-硬盘修复厂家-移动硬盘维修-西安硬盘修复公司  更新时间:2018-11-14  字号:
摘要:MySQL非常依赖使用中的线程软件包。 所以当为 MySQL 选择一个好平台的时候,线程软件包就非常重要。 至少有三种线程软件包: 用户线程在单个进程中。线程切换用警报管理,线程库用

MySQL非常依赖使用中的线程软件包。 所以当为MySQL选择一个好平台的时候,线程软件包就非常重要。

至少有三种线程软件包:

  • 用户线程在单个进程中。线程切换用警报管理,线程库用锁管理所有非线程安全函数。读,写和选择操作通常被线程专有的切换器管理, 如果运行中的线程要等待数据,这个切换器就会切换操作到另一个线程。如果用户线程软件包集成在标准库(FreeBSD 和 BSDI 线程软件包)里,这样的 线程软件包比那些不得不映射所有不安全调用(MIT-pthreads, FSU Pthreads 和 RTS 线程软件包)的线程软件包需要更少的系统开销。在某些环境下(如SCO),所有系统调用都是线程安全的,所以映射非常容易(SCO上的FSU Pthreads包)。不足之处是:所有映射的调用占用很少的时间,于是想要能处理所有的情况就相当繁杂。有一些系统调用通常不被线程软件包(类似MIT-pthreads and sockets包)处理。线程计划不总是最优化的。

  • 在分离进程中的用户线程。线程切换是由内核来做,且所有的数据在线程之间共享。线程软件包管理标准线程调用,允许在线程之间共享数据。LinuxThreads包就使用这种方法。不足之处:太多进程。线程创建得慢,如果一个线程死掉了,其余得线程通常就挂起来,你必须在重启之前杀掉这些挂起的线程。线程切换开销有些大。

  • 内核线程。线程切换由线程库或内核来做,并且非常快。一个进程就可以了。但在一些系统中ps可能显示不同线程。如果一个线程终止,整个进程就终止了。多数系统 调用是线程安全的,并且只要非常小的系统开销。Solaris, HP-UX, AIX 和OSF/1 都有内核线程。

在一些系统中内核线程被系统库中整合用户级线程管理。在这种情况下,线程切换只能由线程库来做,而内核并不是真正的“线程感知”的。

上一篇:NAS - 如何创建 RAID 10 卷

下一篇:数据库调用MySQL程序

分享到: