![Windows 调度程序:相同的流程实例是否会同时在不同的任务上运行?](https://linux22.com/image/782033/Windows%20%E8%B0%83%E5%BA%A6%E7%A8%8B%E5%BA%8F%EF%BC%9A%E7%9B%B8%E5%90%8C%E7%9A%84%E6%B5%81%E7%A8%8B%E5%AE%9E%E4%BE%8B%E6%98%AF%E5%90%A6%E4%BC%9A%E5%90%8C%E6%97%B6%E5%9C%A8%E4%B8%8D%E5%90%8C%E7%9A%84%E4%BB%BB%E5%8A%A1%E4%B8%8A%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
我已将 Windows Scheduler 配置为不运行我的应用程序的许多实例:
但我不确定 Windows 将如何检测多个实例。我的意思是我有一个可执行文件,它会根据命令行彻底改变其行为。因此,我有许多任务将使用不同的参数触发相同的可执行文件。
如果由于另一个任务调度(具有不同的参数)而导致同一程序的另一个实例正在运行,那么一个任务调度程序的“不启动新实例”是否会阻止执行?
我的意思是 :
Task 1 -> program.exe some_param -> Do not start new instance
Taks 2 -> program.exe different_param -> Do not start new instance
如果任务 2 在任务 1 运行时尝试启动会发生什么情况?Windows 是否足够智能,能够理解由于任务和参数不同,它们不应相互干扰,或者第二个任务将等待任务 1 完成?
答案1
该设置不会对其他任务产生任何影响。因此,无论设置如何,任务 1 和任务 2 都将同时运行。该设置可防止运行相同任务并发执行。例如,如果某个任务每小时运行一次,并且要启动一个新实例,但前一个实例尚未完成,则不会启动新实例。