如果 Windows 上的 Affinity 仅在 1 个线程上设置,是否可以消除线程不安全软件的问题?

如果 Windows 上的 Affinity 仅在 1 个线程上设置,是否可以消除线程不安全软件的问题?

假设我有一个第三方软件可执行文件,我无法以任何方式编辑或更改它,也无法正确调试。我怀疑它存在多线程问题,因为它的线程不安全部分会导致应用程序分段错误。将 Windows 中可执行文件的亲和性设置为单线程是否只能消除此类问题,还是只能减轻这些问题,或者由于其他原因什么也不做?

答案1

它会降低问题发生的概率,但由于同一进程的两个线程不会按照特定顺序进行安排,因此无法提供“经过验证的”安全性。

虽然调度程序当然是确定性的,但相关进程不会是唯一正在运行的进程。因此,您无法确定会发生什么。简单的鼠标移动可能会导致安排更多工作。

但是,您只是从猜测开始。请联系制造商,提供有关事故的详细信息,也许他们可以为您提供帮助。

相关内容