两个完全不相关的软件怎么会以一种非常奇怪的方式互相影响?

两个完全不相关的软件怎么会以一种非常奇怪的方式互相影响?

我在我的旧电脑上安装了一款旧游戏,但它无法运行;它的进程/exe 文件在任务管理器中列出,但屏幕上什么也没有出现。

过了一段时间,我发现当我的电脑上运行某个特定程序时,该游戏就可以顺利运行,而不会出现这个问题!

虽然我自己是一名高级用户,也是一名程序员,但我找不到原因,并且对此没有任何好的猜测。我只知道当我想运行那个游戏时,我应该运行另一个特定的、不相关的程序。

我问是否有人对这种罕见现象的可能原因有任何想法/猜测!

哦,如果你问起这些程序的详细信息/名称,我不敢说出来,因为其他人可能会认为我在开玩笑,但我不是(请相信我!),那个游戏是 NFS2,另一个程序是 mysqld.exe(我之前说过我是一名程序员!)。我不知道 mysqld.exe(是的,它是著名的 MySQL DBMS 服务器的 Windows 版本)如何以如此奇怪的方式影响 NFS2,我的好奇心和专业性让我不禁要寻找答案,所以我决定寻求他人的帮助,看看是否有人有过类似的经历或对此有合理的想法。

答案1

关键在于 Windows 如何管理其进程。我读到过,Windows 将每个不同的应用程序视为一个线程(它们共享同一个堆栈),这就是为什么 CheatEngine 可以访问其他进程的内存。

与许多基于 UNIX 的系统不同,在这些系统中,每个进程实际上都是不同的进程,彼此之间的资源被很好地划分开来。这就是为什么 Linux 上没有 CheatEngine,或者只有序列号适用于 OSX 的应用程序。一个进程干扰其他进程的唯一方式是使用系统资源、套接字和端口。

也许其他应用程序正在使用/释放您的应用程序所需的一些资源(它甚至可能是单例锁文件,例如当 chrome 进程正在运行并且没有响应时,因此无法运行该应用程序的另一个实例)。

我不是任何类型的计算机专家,但根据我迄今为止的经验,我了解到,我是一名技术员,而不是工程师。

相关内容