InterlockedExchange
- From
- Gennady Mayko ()
- To
- Crusader Mike
- Date
- 2002-07-30T14:48:56Z
- Area
- SU.WINDOWS.NT.PROG
From: "Gennady Mayko" <gennady.mayko@broadcom.com>
Добрый день!
Mon Jul 29 2002 18:00, Crusader Mike wrote to All:
CM> Hi, All!
CM> Только ногами не бейте, т.к. не совсем топик:
CM> почему ::InterlockedExchange() в Win2000 реализована:
CM> mov ecx,dword ptr [esp+4]
CM> mov edx,dword ptr [esp+8]
CM> mov eax,dword ptr [ecx]
CM> nop
CM> cmpxchg dword ptr [ecx],edx
CM> jne 77E86ACD
CM> ret 8
CM> а не
CM> mov ecx,dword ptr [esp+4]
CM> mov eax,dword ptr [esp+8]
CM> xchg dword ptr [ecx], eax
CM> ret 8
CM> ?
CM> В чем была глубокая идея использования цикла + cmpxchg вместо простого
CM> xchg?
--
Точно такой же вопрос обсуждался пару лет назад в группе
http://groups.google.com/groups?hl=en&group=comp.os.ms-windows.programmer.nt.ke
rnel-mode. Поищи в Google group search слова "InterlockedExchange Seong Won",
чтобы выйти на исходный post.
Но не надейся найти там точный ответ :)
CM> Sincerely yours, Prihodko
CM> Michael.
С уважением,
Геннадий Майко.
--- ifmail v.2.15dev5
* Origin: FidoNet Online - http://www.fido-online.com (2:5020/400)