首先,我想说明一下,我查了大概一百个Google,以及与我的问题相关的stackoverflow问题。 我找不到任何可以回答我的特定问题的东西。
我将DataTable转换为List。 我有多个线程用foreach枚举List。 但是,每5分钟一次,主线程需要使用最新数据刷新该列表。 发生这种情况时,我需要阻止其他线程读取该线程,直到主线程完全更新了List。
我发现的所有文章和问题都会阻止一次添加。 我知道我可以为更新编写一个阻止,但是我需要将该锁也与所有其他枚举的线程同步。 我不想在其他线程处于其枚举中间时更新列表。
如何编写一个可用于每个语句以及我的更新功能的锁?
谢谢
编辑:当生产者线程正在生产时,我想阻止“消费者/观察者”。 我不希望消费者/观察者互相阻塞。