私の理解によれば、セマフォは、関連するプロセス間で共有メモリに置かれていなくても使用可能でなければなりません。もしそうなら、なぜ次のコードはデッドロックですか? #include <iostream>
#include <semaphore.h>
#include <sys/wait.h>
using namespace std;
static int MAX = 100;
int
セマフォを使用して単純なルーチンを実装しようとしていますが、アプリケーションのインスタンスを3つしか実行できません。私は3つのミューテックスを使うことができましたが、これは今までこれを試した良いアプローチではありません。 var
hSem:THandle;
begin
hSem := CreateSemaphore(nil,3,3,'MySemp3');
if hS