Tag: 多处理器

何时应该&不应该使用此C#实用程序类通过Interlocked控制线程

我正在努力理解这个类的编写背后的逻辑,以及何时应该而且不应该使用它。 任何见解将不胜感激 internal struct SpinLock { private volatile int lockHeld; private readonly static int processorCount; public bool IsHeld { get { return this.lockHeld != 0; } } static SpinLock() { SpinLock.processorCount = Environment.ProcessorCount; } public void Enter() { if (Interlocked.CompareExchange(ref this.lockHeld, 1, 0) != 0) { this.EnterSpin(); } } private void EnterSpin() { int num […]

强制C#应用程序在具有多核处理器的PC中使用单核

大家好,这个问题可能看起来很奇怪,但是我正在使用Haptek People Putty播放器用于我的C#应用​​程序,我看到有人在论坛上说它对多核处理器效果不佳。 我的应用程序在我的Core 2 Duo笔记本电脑上运行良好,但是当我尝试在四核桌面上运行它时,它会落后很多。 我正在考虑为自己调查这个问题,在这种情况下,我必须强制我的应用程序在单个核心上运行。 这可能在C#中吗? 谢谢!