我偶然碰到排隊的自旋鎖,並想用C++實現。我搜索了一下這方面的信息,但無法獲得正確的文檔。 任何文檔/實施技巧將不勝感激。 在此先感謝 我的代碼如下疑問邁克爾·布朗 // represents processor in wait queue of the spinlock
struct qsl_entry
{
// next processor in the queue that is w
我試圖用環形鎖,但即使這樣最基本的代碼在單線程控制檯應用程序拋出的時候我callSpinLock.Exit以下異常() System.Threading.SynchronizationLockException was unhandled by user code
Message=The calling thread does not hold the lock. Source=msco
我想了解如何編寫這個類的邏輯,以及何時應該使用它以及何時不應該使用它。任何有識之士將不勝感激 internal struct SpinLock
{
private volatile int lockHeld;
private readonly static int processorCount;
public bool IsHeld
{
g