В основном моя программа имеет 2 набора потоков, рабочих и рабочих мест. Каждое задание имеет время прибытия, затем оно помещается в очередь.
Что касается серверов, я хочу, чтобы они постоянно искали работу в очереди, если в очереди есть работа, только 1 работник снимает ее и выполняет свою работу.
В основном сначала создаются все рабочие потоки, а затем создаются и синхронизируются потоки заданий (каждый загружает данные в очередь). Я не могу правильно определить время, так как рабочие потоки иногда делают вещи в одно и то же время ИЛИ задания не помещаются в очередь в нужное время (т. Е. Задание со временем прибытия 3 передается заданию со временем прибытия 2).
Как я могу сделать это, используя семафоры и / или мьютексы?
Я пытался вставить мьютекс в рабочую функцию, но у меня не очень хорошо получается мьютекс / семафор ..
Любые идеи будут оценены.
Спасибо!