Я пытаюсь создать несколько независимых программ для интеллектуального распределения общих ресурсов между собой.Однако у меня могла быть только одна запущенная программа или целая куча из них.
Я думал о mmap
виртуальном файле в каждой программе, но параллелизм убивает меня.Мьютексы явно неэффективны, потому что каждая программа может иметь блокировку файла и совершенно не замечать другие.Однако все мои попытки написать семафор провалились, поскольку семафор был бы внутренним для файла, и я не могу полагаться только на то, что записываю в него одновременно и т. Д.Я видел довольно много об именованных каналах, но это, кажется, не практическое решение для того, что я делаю, так как я не знаю, сколько будет других программ, если таковые имеются, или какой-либо способ определения какой программыучаствует в моей операции по совместному использованию ресурсов.