【发布时间】:2011-02-17 21:27:03
【问题描述】:
我创建了大量的 Task 实例。我需要全部运行它们,并等待它们全部完成。问题是我需要确保在任何给定时间在“开始”和“完成”之间不超过 X 个任务;这些任务涉及到对同时呼叫数量有限制的其他方的呼叫。由于这些限制不是基于我的硬件,我不能依赖任何内置的智能节流;我需要严格执行限制。我已经能够通过让任务以线程安全的方式增加和减少共享变量来做到这一点,但这似乎不必要地麻烦。有没有一种更直接地内置到 API 中的方法,或者我缺少一个简单的同步工具?
【问题讨论】:
-
信号量对我来说是个不错的解决方案。
标签: .net multithreading scheduling task