Возможно ли условие гонки при обновлении переменной среды PATH? Можно ли это избежать? - программирование

Возможно ли условие гонки при обновлении переменной среды PATH? Можно ли это избежать?

Если два или более приложения, запущенные в Windows, пытаются одновременно добавить имя папки в переменную окружения PATH, возможно ли получить условие гонки, чтобы одно из добавляемых значений терялось?

Каков стандартный способ избежать этих условий гонки?

4b9b3361

Ответ 1

Нет, нет опасности этого. Каждый процесс имеет свою собственную среду. Поэтому они просто обновят собственную копию переменной среды PATH. Такие изменения также не сохраняются и исчезают, когда процесс завершается.

Для глобальных изменений в среде требуется запись реестра. В противном случае отображается в апплете "Система" на панели управления. Такие изменения требуют, чтобы logout + login был эффективным для каждого процесса.