我有一個處理多處理器系統時遇到問題的應用程序。這不是一個應用程序,我對修改有特別的感情,如果可能,我想避免它。不過,如果必須修改代碼,我並不在上面。該應用程序是用VBA編寫的(因此我傾向於避免觸摸它)。如何指定處理器親和力?
我們注意到,應用程序似乎如果我們使用任務管理器中的處理器關係設置爲單個處理器,只有當沒有設置處理器親和力表現不穩定相當順利運行。
我知道我可以使用.NET指定一個任務的處理器關聯性,因此,我有可能編寫一個shell應用程序,該應用程序可用於以指定的處理器關聯性運行舊應用程序,是否有人任何有關這方面的經驗,並可以拋出一些想法,我可能會遇到這種方法頭痛?
另一個問題是:它實際上有可能修改核心VBA產品來處理其自己的處理器親和力?我從來不需要在本地處理任何應用程序,所以此時(此時)完全超出了我的專業領域。
在此先感謝
我很想知道,當沒有設置處理器親和力你看到的問題。這些問題如何體現出來? – 2010-06-01 13:32:10
@Gary McGill:我們看到的問題(使用Access 2003編寫的應用程序 - 並且在Access 2007/2010中不起作用)是應用程序崩潰和一般Access不穩定。該應用程序最初是在單CPU /單核機器上編寫的,現在我們正在替換問題。該應用程序在多CPU和多核機器上具有各種不穩定性,但在舊機器上仍可正常工作。當我們設置處理器親和力時,不穩定性不再是問題。該應用程序正在被重寫,但在完成之前,我們被困在一塊岩石和一個困難的地方。 – BenAlabaster 2010-06-02 16:16:18
您是否在VBA應用程序中使用多個線程?如果將多線程應用程序限制爲單個處理器可以提高性能,那通常表示存在虛假緩存問題 – 2010-06-24 20:51:42