Как я могу гарантировать, что только один процесс выполняет функцию в многопроцессорном Python? - PullRequest
0 голосов
/ 24 мая 2019

У меня есть функция, которая вызывается потенциально несколькими процессами, созданными с помощью многопроцессорной обработки.Я хочу обеспечить не сериализацию, а одиночное выполнение исходным процессом, то есть только основной процесс будет выполнять некоторую логику, а другие ничего не будут делать.

Один из вариантов - использовать RLock с blocking = False, но это не гарантирует, что основной процесс выполнит выполнение.Я не хочу делать различий с именем current_process (). Name, потому что оно просто кажется неправильным, и, насколько я понимаю, имя произвольно и не обязательно уникально.

Есть ли более элегантный способчтобы обеспечить это?В MPI я делал это с идентификатором.

...