小编Mar*_*nez的帖子

TCriticalSection有很多读者和一位作家

我有一个用Delphi 10 Seattle Win32编写的服务应用程序,它具有在线程中定期更新的内存数据.

由于数据是一个复杂的结构并以块的形式接收,因此更新代码会写入临时列表,并在完成结构时将此临时列表切换到"生产"列表,该列表由许多读取器线程读取.

我将"切换"代码作为一个关键部分与各自的读者一起使用,以使它们相互排除.后来我意识到,作为副作用,读者线程也是相互排斥的.

我的问题是,是否有一个替代的关键部分类,我可以将其描述为读者或编写者,以便允许读者同时执行.

除此之外,我只保护读取器代码,该代码收集它必须发送的数据,并在离开临界区后发送这些数据的副本.我想知道这个数据收集代码是否相互独占或者序列化是否应该更高效.

提前致谢.

delphi multithreading thread-safety

2
推荐指数
1
解决办法
139
查看次数

标签 统计

delphi ×1

multithreading ×1

thread-safety ×1