这个问题一直困扰着我。
比如两个线程同时(在多处理器的主机上)调用EnterCriticalSection,
又或者同时调用InterlockedCompareExchange等等,
那么两个线程是同时执行还是一个被阻塞呢?
如果是一个被阻塞的话,那么系统又是怎么能够让一个阻塞呢?
是不是要用到一些硬件支持阿?
比如两个线程同时(在多处理器的主机上)调用EnterCriticalSection,
又或者同时调用InterlockedCompareExchange等等,
那么两个线程是同时执行还是一个被阻塞呢?
如果是一个被阻塞的话,那么系统又是怎么能够让一个阻塞呢?
是不是要用到一些硬件支持阿?
个人意见是同一进程内的线程会阻塞,但其它进程不影响。