我对C中的线程非常陌生,所以想在开始之前检查一下我的想法是否有效并且相对简单。我想写一个程序,可以在两个不同的线程(每个COM端口一个线程)上使用Modbus RTU同时从2个COM端口读取。我相对精通使用libmodbus等功能,这只是我需要帮助的线程部分。
因此,有几个问题:( 1)这是否可能相对容易地实现(无论多么简单的例子都是值得赞赏的),如果是的话,在内存方面需要考虑什么?
2)在C中实现多线程需要哪些相关的头文件?
发布于 2016-08-15 08:30:58
因此,有几个问题: 1)这是否可能相对容易地实现(任何例子,无论多么简单,将是非常感谢)。
线程本身是一个相当高级的主题,您还可以使用特定于系统的方法使用COM端口。您必须学习多线程和操作系统特定的COM端口库例程。这不是小事一桩。
在记忆方面需要考虑些什么?
除了您可能想要实现某种缓冲区系统之外,您不必担心,如果多个线程使用它,则它必须由互斥保护。
在C中实现多线程需要哪些相关的头文件?
取决于系统。对于Linux和其他POSIX系统,使用来自pthread.h的p线程(POSIX线程)。Windows编译器可能支持也可能不支持它们。否则,Windows会使用自己的线程例程、CreateThread等。Visual或C++ Builder等RAD工具在CreateThread周围有包装器类。其他系统可能有不同的库。
有人试图用C11标准来标准化线程,但这一标准还在试验阶段,我们还没有知道它是否会被使用,或者如果有编译器支持C11线程的话,就会失败。就目前而言,线程是最常用的行业标准。
https://stackoverflow.com/questions/38951608
复制相似问题