摘要:
C#线程基础在前几篇博文中都介绍了,现在最后来挖掘一下线程池的管理机制,也算为这个线程基础做个完结。 我们现在都知道了,线程池线程分为工作者线程和I/O线程,他们是怎么管理的? 对于Microsoft设计的CLR线程池,线程池会随着CLR的每个版本的发布,都会发生变化,很难去挖掘,这里的提议是: 最好将线程看成一个黑盒。不要拿单个应用程序去衡量这个黑盒的性能,因为它对任何一个应用程序来说都无法做到完美。 相反,它是一种常规用途的线程调度技术,面向大量应用程序;它对某些应用程序的效果要好于其他应用程序。目前,它的工作情况非常理想,这里建议你信任它,因为你很难高出一个比CLR自带的那个更好... 阅读全文
随笔档案 (19)
最新评论
- 1. Re:async And await异步编程活用基础
- 博主你好,请问这种事件带返回值的怎么搞?现在就是产生死锁了,我是放在WPF运行的,谢谢private void button6_Click(object sender, RoutedEventArgs...
- --C#小学徒
- 2. Re:C#线程篇---Task(任务)和线程池不得不说的秘密(5)
- @ 我妻黑猫用lambda表达式来写能使代码更清晰明了。造成你所描述问题的原因是因为在创建子任务时没有给出选项(TaskCreationOptions.AttachedToParent),子任务没有附...
- --Apache.Lengyue
- 3. Re:C#线程篇---Task(任务)和线程池不得不说的秘密(5)
- @ pqmzky其实楼主已经写得比较不错了,从简单任务到取消任务,到后续任务,再到父子任务,然后到任务工厂,最后是任务调度。当然示例代码不够清晰整洁,而且其中稍稍有一些错误示范,不过不影响理解。...
- --Apache.Lengyue
- 4. Re:C#线程篇---Task(任务)和线程池不得不说的秘密(5)
- @ 沃尔德t.ContinueWith(...)这个写晚了,应该写在t.Start()之前。写在后面有可能任务结束了你的后续任务还没安排好。。。。。。...
- --Apache.Lengyue
- 5. Re:C#线程篇---Task(任务)和线程池不得不说的秘密(5)
- via clr C# 书本里面的东西
- --TeemoHQ