我有一个关于System.Threading微软.NET命名空间的问题。在这个名称空间中,定义了许多类,以帮助我使用线程进行管理。好吧,我有一个问题,但我不知道使用什么,MSDN是模糊的,我仍然不知道哪些类做什么。特别是,我的问题与同步有关。
问题所在
我有一定数量的线程(考虑N个线程)。在某个点上,一个线程必须停止并等待至少一个其他线程执行某些操作。一旦N-1个线程中的一个线程完成了某个任务,这个线程就会发出通知,被停止的线程将能够继续执行。
所以这只是一个同步问题:线程必须等待信号通知,仅此而已。
许多类
在System.Threading中,提供了许多类来处理同步问题。有WaitHandle,有AutoResetEvent,有ManualResetEvent,以此类推...
我该用哪一个?
问题是
我的问题是:谁能总结一下我应该使用哪个类来解决我的问题?你能说出这些类或其他类之间最重要的区别吗?
问题是,我还没有真正理解在同步方面由哪个类负责:例如,WaitHandle和AutoResetEvent或ManualResetEvent之间的区别是什么
那么lock呢?
为了处理许多线程问题,.net提供了lock功能和Monitor类。这对情侣能满足我的需要吗?
谢谢你
https://stackoverflow.com/questions/6371299
复制相似问题