【发布时间】:2013-06-29 03:35:55
【问题描述】:
如果在 Windows 上运行的两个或多个应用程序同时尝试将文件夹名称附加到环境变量 PATH,是否有可能获得竞争条件,使得其中一个被附加的值丢失了?
避免这些竞争条件的标准方法是什么?
【问题讨论】:
标签: windows concurrency path environment-variables race-condition
如果在 Windows 上运行的两个或多个应用程序同时尝试将文件夹名称附加到环境变量 PATH,是否有可能获得竞争条件,使得其中一个被附加的值丢失了?
避免这些竞争条件的标准方法是什么?
【问题讨论】:
标签: windows concurrency path environment-variables race-condition
不,这没有危险。每个进程都有其自己的环境。所以他们只会更新自己的 PATH 环境变量副本。当进程终止时,此类更改也不会持续存在并消失。
对环境进行全局更改需要编写注册表。否则暴露在控制面板中的系统小程序中。此类更改需要注销 + 登录才能对每个进程生效。
【讨论】: