gpt4 book ai didi

c++ - 使用共享库同步两个C++进程

转载 作者:行者123 更新时间:2023-12-02 10:32:58 27 4
gpt4 key购买 nike

我正在开发一个C++类(MyClass.cpp),将其编译为动态共享库(MyClass.so)。

同一台Linux计算机上运行的两个不同应用程序将使用此共享库。

它们是两个不同的应用程序。它不是多线程应用程序,也不是。

此类中有一个MyClass::WriteHardware方法,必须相互排斥地执行,因此
两个应用程序不可能同时运行它。

在两个不同进程之间实现这种同步的正确和最简单的方法是什么,
考虑到MyClass.so库是两者共同的?

由于互斥锁不是多线程应用程序,因此在这种情况下是否可以工作?

最佳答案

使您的MyClass::WriteHardware用要求此功能的应用程序并以正确的顺序写入“批处理”文件。
作业完成后,将其从文件中删除。

该功能检查文件以查看其是否可以执行其工作或必须等待其他应用程序完成。

为防止多个应用程序一次写入该文件,可以使用另一个“锁定”文件。它的existencd表示“有人正在写入批处理文件”

关于c++ - 使用共享库同步两个C++进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61599866/

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