-
-
[求助]关于Win32汇编的lock前缀
-
发表于:
2011-2-12 15:56
6620
-
在多核CPU的机子上,如果两个并发的线程遇到
lock cmpxchg BYTE PTR[ebx] , ah
之类的指令,Intel手册说 lock 前缀会锁住总线,使得同一时刻有且仅有一个线程访问内存
但问题是另外一个线程等待访问的时候,在这瞬间,又有第三个线程把这条指令给改了,例如改成 ret
那么等第一个线程使用完那块内存后,第二个线程会如何执行?会照样执行
lock cmpxchg BYTE PTR[ebx] , ah
还是说执行
ret ?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!