当前位置: 首页 > 编程语言 > C#

C#学习教程:.NET4中的多线程改进分享

时间:2023-04-10 16:49:31 C#

.NET4中的多线程改进听说.NET4团队在框架中添加了新的类,使线程处理变得更好、更容易。基本上,问题是运行.NET4中添加的多线程任务的新方法是什么?它们的设计用途是什么?UPD:为了清楚起见,我不是在寻找一种在.NET4中运行并行任务的单一方法,我试图找出哪些是新的,如果可能的话,这是最适合每种情况的。由于缺乏回应,我决定用下面的答案来评估下面的答案。正如@Scott所说,.NET4添加了TaskParallelLibrary,它为并行性添加了许多创新、新方法和方法。您可以在第9频道看到许多标有“并行计算”的截屏视频和视频是的,.NET4添加了任务并行库,它在更高级别添加了对以下内容的支持:回答原始问题更新...TPL是首选编写方式使用.NET4并行任务。您仍然可以自己创建线程池条目,并执行所有与以前相同的“手动”线程技术。要记住的是,整个线程池(以及几乎所有与线程相关的东西)都已被重写以利用TPL。这意味着即使您自己创建了一个线程池项目,您最终还是会使用TPL,即使您不知道它。另一件要记住的事情是,TPL更优化,并且可以根据可用处理器的数量更适当地扩展。至于知道什么时候他们每个人最适合,没有“银弹”答案。如果您之前对自己的线程池项进行排队(或以其他方式执行多线程),则可以修改这部分代码以使用TPL而不会产生任何后果。对于并行循环或并行查询之类的事情,您需要分析代码和代码的执行情况,以确定它是否适合并行化。严格来说,这是C#4.0而不是新类,但事件现在有一种更智能的锁定形式,如果我正确理解了这些变化,不需要重新锁定锁定代码,如下所示(取自此postbyJonSkeet)):以上就是《C#学习教程:.NET4中的多线程改进》的全部内容,如果对你有用,需要进一步了解C#学习教程,希望大家多多关注—SomeEventHandler一些事件;只读对象someEventLock=newobject();公共事件SomeEventHandlerSomeEvent{add{lock(someEventLock){someEvent+=value;}}remove{lock(someEventLock){someEvent-=value;}}}本文收集自网络,不代表立场,如有侵权请点击右边联系管理员删除。如需转载请注明出处: