Witam wszystkich!
Od jakiegoś czasu głowię się nad tym w jaki sposób mogę dokonać aby mając do rozdysponowania 2 zasoby, w sposób losowy (nie najpierw do 1. a później do 2) przydzielić dostęp dla wątków.
Mamy 2 sale, w większej może się pomieścić maksymalnie 8 osób a w małej 4. Na degustację przyszły 32 osoby. Zatem mamy do rozdzielenia 32 wątki.
sale[0] = new Semaphore(4, 4);
sale[1] = new Semaphore(8, 8);
...
for (int i = 0; i < 2; i++)
{
sale[i].WaitOne();
Console.WriteLine("Osoba {0} degustuje pączki w sali numer {1}", Thread.CurrentThread.Name, i);
}