Linux
У меня есть две функции: functionA
и functionB
Эти две функции могут запускаться многопоточно, что:
- За один раз можно запустить не более одного
functionA
- Может быть много
functionB
(s) может быть запущено одновременно
functionA
и functionB
являются исключительными, т. Е. Если оправдано functionA
тогда functionB
должен ждать, пока не закончится functionA
, и если есть какой-либо экземпляр functionB
выполняется, functionA
должен дождаться, пока все экземпляры из functionB
не завершатся.
Не могли бы вы показать мне, как реализовать это с помощью pthread в Linux? Я пробовал много способов, но это кажется недостаточно ясным.
Windows
Как мне добиться того же в Windows, используя C ++?