2つのプロセスの同期に問題があります。私は3つのXプロセスと5つのYプロセスを持っています。また、私は2つのリソース(AとB)を持っています。相互排除およびプロセス同期。 C++
リソース'A 'は同時に最大3つのプロセスで使用でき、リソース' B 'にアクセスすると相互排除が必要です。
プロセスXとY:
void processX()
{
while (1)
{
AccessToResource(B);
AccessToResource(A);
}
}
void processY()
{
while (1)
{
AccessToResource(A);
AccessToResource(B);
}
}
私が行うことができますどのようにセマフォ、ミューテックス、イベント、最短の方法を使用していますか?今、私は
CSemaphore sem(1,5,L"semaph");
を持っており、sem.Lock()とsem.Unlock(でそれを使用するための
)前と資源にアクセスした後、それはかなり良いではありません。
したがって、AとBの両方へのアクセスを同時にロックする必要はありませんか?各リソースへのアクセスは、他のリソースとは別に処理できますか? –
プロセスXとプロセスYが同時に実行されています。私はそれを扱う方法がわかりません。そのようなもので私の最初の仕事です。 – Pawel
@Pawel C++標準にはプロセスの概念はなく、標準ライブラリにはプロセス間通信APIはありません。その質問に使用するAPIを指定する必要があります。 – user2079303