EasyModbusTCP.NET icon indicating copy to clipboard operation
EasyModbusTCP.NET copied to clipboard

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

Open jkh404 opened this issue 3 years ago • 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

jkh404 avatar Jan 25 '22 08:01 jkh404

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

Padanian avatar Jan 25 '22 14:01 Padanian