![]() |
1
2
我不是这方面的专家ASP.NET具体来说,但我确实用了几年。应用程序的存储空间很大程度上是为了与传统的ASP向后兼容。您将需要try/finally块来锁定和解锁,而且它仍然不如在.NET中使用一些经典ASP中没有的其他锁定机制灵活。 在您的示例中,Lock/Unlock需要非常广泛,因为即使在获取了“GlobalList”之后,多个线程同时写入这个集合仍然会导致并发问题。
您可以在根本不使用应用程序存储的情况下执行这样的操作。请注意,您仍然需要同步对集合的访问,但不需要锁定/解锁整个应用程序状态字典。
ReaderWriterLockSlim 这允许多个读卡器同时执行,只要没有持有锁的写入程序。当读者比作者多时,这会使您的性能显著提高。不过,使用这种锁有点棘手,因为没有像C#的lock语句或VB的SyncLock那样的语法糖分。 编辑 |
|
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |
![]() |
user1700890 · 了解交互式代理Python API中的线程 2 年前 |
![]() |
AntonBoarf · 为什么要将实例变量指定给局部变量? 2 年前 |
![]() |
rhymes · 如何让线程操作相同的java列表 3 年前 |