在多线程C程序中安排和访问控制到串行端口



串行端口向公众打开,线程始终与端口一起使用。在运行时女巫中创建一个或多个高优先级线程,而不会与主线程发生冲突,应与端口一起使用并在完成时销毁。我如何安排这些线程并管理对串行端口的访问?

谢谢。

如果您创建了许多线程,并且总是只需要一个线程与串行端口(一次一个线程)一起使用,则可以通过使用Semaphores来管理其访问权限(这样他们就不会碰撞)。

但是,您要使用的调度算法纯粹取决于您的需求。当您创建多个线程时,我相信您必须使用pthread_create API,该API具有更大的灵活性来在其第二个参数中设置您的属性(例如优先级)。请使用该参数设置优先级级别。您可以通过考虑优先级来安排它们,也可以使用时间切片技术。

分析您的问题时,似乎您正在某个开发委员会工作。如果它是RTOS代码,您可以尝试与信号量一起实施先发制人。

最新更新