cost 210 ms
使用锁定(TMonitor)和枚举器的构造函数/析构函数安全吗? - Is it safe to use locking (TMonitor) wihtin Enumerator's constructor/destructor?

我有简单的线程安全容器类。 它具有标准的添加/删除方法。 通常枚举项的实现方式为: 但是我想以线程安全的方式利用for-in支持: 我的枚举器实现将容器锁定在其构造函数中,并在析构函数中对其进行解锁。 这是可行的,但前提是假设枚举数的实例是在for-in循环的开头创建的,并 ...

在Delphi中,System.TMonitor.Pulse和TMonitor.PulseAll实际上做了什么 - In Delphi, what does System.TMonitor.Pulse and TMonitor.PulseAll actually do

我很高兴看到Delphi在Delphi 2009中引入TMonitor记录,允许您在多线程环境中锁定特定对象。 令我困惑的是这种记录类型的Pulse和PulseAll方法。 例如,Delphi的Pulse中的条目帮助指出“通知等待队列中的下一个线程,一旦调用线程释放对象,它就能锁定指定的 ...

TMonitor.Pulse与TMonitor.PulseAll - TMonitor.Pulse vs TMonitor.PulseAll

Delphi Docwiki解释说, Pulse通知等待队列中的下一个线程,一旦调用线程释放对象,它就能锁定指定的对象。 PulseAll发信号通知等待队列中的所有线程。 我发现这个代码在线程队列实现中使用Pulse,并且根据上面的定义,认为应该使用PulseAll - 或者以不同的方式 ...

TMonitor同步/ Application.ProcessMessages - TMonitor synchronization / Application.ProcessMessages

我回来了另一个关于线程和同步的问题。 想象一下,服务器应用程序必须执行冗长的操作,并且客户端希望他的GUI在等待服务器的响应时保持响应。 我想到了以下模式: WorkerThread是一个派生自TThread的简单类,它执行传递给其构造函数的函数,然后终止(使用Ready = Tru ...


排序:
质量:
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM