readerwriterlockslim相关内容

确定哪个方法持有 ReaderWriterLockSlim WriteLock

目前我正在使用 WinDbg 分析转储. 我运行了以下命令(遵循 苔丝令人难以置信的演练): ~* e !clrstack 其中列出了所有线程的所有堆栈.有 300 个正在运行的线程或多或少具有相同的堆栈,所以我只是在这里打印一个堆栈...... 操作系统线程 ID:0x107c (166)子 SP IP 呼叫站点2bc1e654 77c1015d [HelperMethodFrame ..
发布时间:2021-09-25 19:31:20 其他开发

当编写者尝试输入写锁定时,如何避免阻塞ReaderWriterLockSlim阅读器

我正在使用 ReaderWriterLockSlim 来保护某些操作.我希望读者优先于作家,这样当读者长时间持有该锁并且作家试图获取写锁时,以后的读者就不会受到作者的尝试的阻碍(如果发生这种情况,将会发生这种情况)编写者在 lock.EnterWriteLock())上被阻止. 为此,我虽然可以在较短的超时时间内使用 TryEnterWriteLock 来编写程序,但随后的读者仍可以在编写程 ..
发布时间:2021-04-01 19:59:23 C#/.NET

是锁定对布尔的访问权限还是过度杀伤

我有一个主要设计为POCO类的类,其中各种线程和任务都可以读取其值,只有其他类偶尔会更新这些值.对于ReaderWriterLockSlim,这似乎是一个理想的方案. 问题是,在类中,如果该属性需要是线程安全的,如果该属性是布尔型的,那是不是太过分了?如果是int会怎样?日期时间? public class MyClass { private bool _theValue = fa ..
发布时间:2020-05-03 05:59:56 C#/.NET

如何使windows slim读写锁公平?

我发现windows实现了一个slim reader-writer-lock(见 https://msdn.microsoft.com/en-us/library/windows/desktop/aa904937%28v=vs.85%29.aspx )。不幸的是(对我来说)这个rw-lock既不是fifo也不是公平的(在任何意义上)。 是否有可能使窗口rw锁与一些解决公平或fifo? 解决 ..
发布时间:2016-11-01 09:30:08 C/C++开发

再次双重检查锁定和C#

最近我一直在重构一些我的C#代码,我发现了一些双重检查锁定行为的发生。我不知道这是一个不好的做法,当时我真的想摆脱它。 的问题是,我应该延迟初始化类并经常大量线程的访问。我也不想初始化移动到一个静态初始化,因为我计划使用弱引用保持初始化的对象,从留在记忆太长。然而,如果需要的话,我想“复活”,确保该物体发生在一个线程安全的方式。 我如果在C#中使用ReaderWriterLockSli ..
发布时间:2016-10-05 00:05:09 C#/.NET

ReaderWriterLockSlim.EnterUpgradeableReadLock()总是死机?

我很熟悉的 ReaderWriterLockSlim 但尝试我的手在最近的一类实施 EnterUpgradeableReadLock()。 ..不久之后我意识到,这几乎可以肯定是有保证的僵局时,2个或多个线程运行的代码: 发A - - >进入升级读锁 线程B - >进入升级读锁 线程A - >试图进入写锁定,对于B嵌段离开读取 线程B - >试图进入写锁定, ..
发布时间:2016-09-19 11:54:22 C#/.NET

什么是使用ReaderWriterLock真正的缺点

我们有项目针对性的.NET 2.0 RTM(是的,它应该是.NET 2.0 RTM,我们有一些正统的客户端)。而我只是想知道什么是我们有一个典型的情况, ReaderWriterLock 的主要目的,即多次读取和写入很少的条款。使用锁定语句会阻止所有的读者。也许这不是我们的一个可怕的问题,但如果我可以使用 ReaderWriterLock 我会更满意。 IMO引入多个监视器确实是一个非常非常糟糕的 ..
发布时间:2015-11-26 20:55:28 C#/.NET

难道是完全可以放心使用ReaderWriterLockSlim.EnterXXX()的模式与随之而来的try-finally从句

MSDN文档,并用许多例子 ReaderWriterLockSlim 类建议您使用以下方式: cacheLock.EnterWriteLock(); 尝试 { //做一点事 } 最后 { cacheLock.ExitWriteLock(); } 不过我很好奇,如果它是完全安全的。难道某些异常会发生被收购后的锁定,但在此之前的尝试语句,这样,锁卡在锁定状态?最明显的候选人 ..
发布时间:2015-11-26 18:41:49 C#/.NET

是ReaderWriterLockSlim正确的选择?

我在写一个全球性的错误处理/记录器在Windows Azure中运行的应用程序。当错误的应用程序时,许多操作所执行的需要发生原子。我需要prevent被记录,直到previous一个人完成了一个错误。同时,我想读取日志的需要发生。 我最初的想法是使用监视器/锁,仅锁定错误写。这样的读操作是不抑制在所有。我在想,虽然ReaderWriterLockSlim是否会更合适。我不能说我的真正的理解一种方 ..
发布时间:2015-11-25 15:32:46 C#/.NET