深入了解SQLServer数据库的线程与纤程

转载 2012年03月26日 11:55:04

Microsoft® SQL Server™ 的错误日志可能会显示如下消息:

工作线程限制 255 已经达到。

这条消息是信息消息,并不表明系统有任何问题

SQL Server 维护一个操作系统线程池,以便执行从客户端送达的成批 SQL 语句。在 Microsoft Windows NT® 上,如果服务器的 lightweight pooling 配置选项设为 1,则 SQL Server 不再维护线程,转而维护一个纤程池;纤程使用比线程更少的资源。使用线程池或纤程池,可以使 SQL Server 在同时执行多个 SQL 语句时优化处理时间分配。该池中的线程或纤程共同作为工作线程。有关更多信息,请参见线程和任务构架。

工作线程数是由服务器配置选项 max worker threads 控制的。默认值为 255 而且几乎不需要更改。

当从客户端收到一批 Transact-SQL 语句时,如果现有的工作线程空闲,就会分配它来执行这个批处理。如果没有空闲的现有工作线程而且工作线程数少于 max worker threads,那么就会分配一个新的工作线程。如果没有空闲的工作线程而且已经达到 max worker threads,那么新的批处理就要一直等到现有工作线程完成其当前批处理任务而空闲为止。当工作线程数达到 max worker threads 时,SQL Server 显示如下消息:

工作线程限制 255 已经达到。

对所有工作线程进行分配,并不意味着 SQL Server 的性能会降低。通常,新的批处理等待空闲线程只需要很短的时间。分配更多的线程可能会降低性能,因为增加的工作需要在线程之间协调资源。很多在生产状态运行的 SQL Server 系统都会达到这样的状态,而且以非常高的性能级别运行。

深入了解SQL Server数据库的线程与纤程

一、基本概念 (一)线程 SQL Server 使用操作系统的线程来执行并发任务。在不使用纤程的情况下,SQL Server将启动线程,并由OS将线程分配给cpu,线程管理由OS内核控制,...

线程,纤程,进程,程序

  • 2008年03月12日 18:22
  • 28KB
  • 下载

c++纤程的使用实例

  • 2013年09月10日 17:03
  • 29KB
  • 下载

第十二章:纤程

1. 线程时在内核中实现的,纤程是在用户模式下实现(即windows不负责对前程进行处理). 将线程->纤程:PVOID ConvertThreadToFiber(PVOID pvParam); ...

《Windows via C/C++》学习笔记 (八) Windows 线程池 纤程

线程池(thread pool),允许有多个线程同时存在,并发执行,并且这些线程受到统一管理。   在Windows Vista中,提供了全新的线程池机制,一般这些线程池中的线程的创建的销毁是由操作...

Windows核心编程学习笔记(23)--纤程

Drecik学习经验分享 转载请注明出处:http://blog.csdn.net/drecik__/article/details/8202023 Windows提供纤程是为了帮助各个公司更...

windows核心编程--纤程

比线程更小的单位,好像用的不多的哦 纤程的操作 首先要注意的一个问题是,实现线程的是Wi n d o w s内核。操作系统清楚地知道线程的情况,并且根据M i c r o s o f ...

Windows核心编程 第十二章 纤程

Windows核心编程 第十二章 纤程

(转)windows核心编程--纤程

纤程的操作 首先要注意的一个问题是,实现线程的是Wi n d o w s内核。操作系统清楚地知道线程的情况,并且根据M i c r o s o f t定义的算法对线程进行调度。纤程是以用户方式代...
  • gxj1680
  • gxj1680
  • 2012年05月07日 12:14
  • 464

Windows核心编程(笔记10) 第十一章 Windows线程池 第十二章 纤程

第十一章 Windows线程池   1.Windows默认提供的线程池允许我们做四种事:(注:前提是系统会在必要的时候为进程创建一个默认的线程池,内部算法及怎么调度无需用户关心;若想指定自定制Win...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深入了解SQLServer数据库的线程与纤程
举报原因:
原因补充:

(最多只允许输入30个字)