rossmann-engineering/EasyModbusTCP.NET

Isn't ModbusClient thread safe?(ModbusClient 不是线程安全的吗?)

jkh404 opened this issue · 1 comments

我将ModbusClient 用于多线程环境的时候,调用ModbusClient 的ReadHoldingRegisters 方法时,获取到的值有时候是错误的。
(en:When I use ModbusClient in a multi-threaded environment, I sometimes get the wrong value by calling ModbusClient's ReadHoldingRegisters method.)
错误的(The wrong):
image
image
image
正确的(The correct):
image

当我的代码里对ModbusClient 使用lock关键字,才确保了每次结果是正确的。(en: When I use the 'lock' keyword on ModbusClient in my code, I make sure the result is correct every time.)
image

Modbus is client/server communication and doesn't require multithreading, as multiple master threads will end up trying reading or writing concurrently.