【发布时间】:2009-10-13 09:49:54
【问题描述】:
最近我在博客上讨论了 .Net 中经常被过度使用的多线程概念。我整理了一份“你应该首先了解的 API”的列表:
- 线程
- 线程池
- 手动重置事件
- 自动重置事件
- EventWaitHandle
- 等待句柄
- 监视器
- 互斥体
- 信号量
- 联锁
- 后台工作人员
- 异步操作
- lock 语句
- 易变
- 线程静态属性
- Thread.MemoryBarrier
- Thread.VolatileRead
- Thread.VolatileWrite
然后我开始思考也许并非所有这些都很重要。例如,Thread.MemoryBarrier 可能可以安全地从列表中删除。再加上一个明显的声明,我不知道一切,我决定转向这里。
所以这是一个广泛而固执的问题,但我很好奇集体对最佳实践研究清单的看法。从本质上讲,我正在寻找一个简短的列表,供新开发人员和/或初级开发人员从开始使用 C# 编写多线程代码时开始工作。
那么在没有进一步评论的情况下,应该从上面的列表中添加或删除什么?
【问题讨论】:
标签: c# .net multithreading