我想知道是否有可能在Linux下使用POSIX线程库实现以下逻辑。
given a mutex
if (I can get the mutex) {
lock the mutex
call fun A
unlcok the mutex
}
else {
call fun B
}
我是Linux下的线程编程新手,所以只需使用伪代码来显示我正在寻找的代码片段的逻辑即可。
在我的项目中,我们有一些脚本来启动应用程序,进行一些性能测试,然后关闭应用程序。问题是,有时脚本会发生一些不好的事情,比如崩溃。然后我们的应用程序挂在“空中”。
我想通过将pid值写入包含应用程序的pid/pids的文件来解决这个问题,但是为了正确地(我认为)我想这样做:
lock the file
process the pid/pids
clean file entries
unlock the file
然后我搜索了如何锁定Python 2.7中的文件(因为我们正在使用它来编写脚本),所以我发现了、flock和lockf方法,但是我认为做错了一些事情。
我想测试这些方法是否正常工作,所以