这可能是一个奇怪的问题,抱歉我是堆栈溢出的新手。
我在Visual Studio(C#)中有一个多线程的应用程序,我的开发机器是一个4GB的双核心,每个都有2个线程,所以实际上是一个4 Core机器。
然而,该应用程序将在直接双核机器上运行,正在发生的是,当我构建并安装应用程序的可执行文件时,我不断得到看似死锁的内容,因此在调试时很难找到它在任何一台机器上都有足够的时间来阻止这种情况发生。
我想知道在Visual Studio中是否有任何方法可以将应用程序限制为一定数量的内核,以模仿部署机器上会发生什么。这样我可以确保我正在开发的代码,无论开发机器在客户端机器上安装时都能正常工作。
答案 0 :(得分:1)
你仍然可以在一个核心上运行10个线程,所以我不知道你想要实现什么......
您应该在代码中查找以下情况:
线程A被阻塞,等待线程B锁定的资源/锁定,线程B被阻塞,等待线程A锁定的资源/锁定。
换句话说,寻找正在运行的线程锁定多个资源的场景 - 这是你的出发点......