【发布时间】:2011-06-11 20:42:59
【问题描述】:
我已经实现了共享内存中互斥的彼得森算法。我在 c++ 和 java 进程(使用 jni)之间使用共享内存进行通信。问题是我仍然以某种方式看到了比赛条件。如果我尝试使用 printf/println 调试它,代码开始运行良好,但是一旦我删除这些打印,进程就会停止。 有人可以告诉我问题出在哪里吗?我很确定彼得森算法的实现是正确的。 我应该使用 semaphores(semget()) 代替互斥吗?
【问题讨论】:
标签: c++ locking java-native-interface shared-memory mutual-exclusion