SpinLock,自旋锁。尝试获取该锁的线程持续不断的check是否可以获得。此时线程仍然是激活状态,只是在空转,浪费cpu而已。但是spinlock避免了线程调度和上下文切换,如果锁的时间极短的话,使用该锁反而效率会高。
而lock是线程被block了。这将引起线程调度和上下文切换等行为。
Spinlock在自旋极短的时间内是可以采取的。
Spinlocks是结构类型。
不能调用Enter两次在同一个spinlock上面。
SpinLock允许你查询是否锁已经被其他线程占用,通过IsHeld属性。