gpt4 book ai didi

c - libmodbus 的多线程?

转载 作者:行者123 更新时间:2023-11-30 14:46:45 27 4
gpt4 key购买 nike

我对 libmodbus ( http://libmodbus.org/ ) 的线程安全感到困惑。

我有一个程序,它用作 Modbus 客户端。我有 5 个 modbus 设备(服务器),我想从中读取一些值。目前我编写了一个函数,在 main() 中调用它。在此函数中,我有一个包含 5 个 modbus_t 实例的数组,并通过 FOR 循环建立与服务器的连接并读取值 - 一个接一个。是否可以在线程中使用 libmodbus,以便我可以同时建立和读取值?有些网站说"is",有些网站说“否”...

安德烈

最佳答案

libmodbus没有记录它是否是线程安全的,所以这是通过查看源代码确定的:

  • 您无法在线程之间共享 modbus_tmodbus_t 实例不是线程安全的。

  • 您可以拥有多个线程,每个线程在 modbus_t 的不同实例上运行。

  • modbus_t 实例的创建是线程安全的。

如果您需要跨线程共享 modbus_t 实例,则需要提供自己的锁定,以确保只有一个线程同时访问该实例。

关于c - libmodbus 的多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51975005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com