Talk:Dekker's algorithm
Should we delete the paragraph with the compiler optimization?
An optimizing compiler would also try to keep the three variables within registers. The algorithm would never work in this case. Therefore, a real implementation needs a compiler directive to add the semantic of "this variable can potentially be accessed by another entity" (e.g. ISO-C reserves the keyword "volatile" for this purpose). And once the variables are declared as "volatile", the compiler is not allowed to remove writes to them. Please verify my arguments and correct the article accordingly. [ibbis@gmx.de]
- I wanted to make exactly this remark. The volatile vars are interprocess synchro-singnals. They are used to prevent inconsistency. This is not the same as memory incoherency. --Javalenok 16:40, 15 June 2006 (UTC)
Necessary memory barriers
Can someone please add the necessary semantics of operations (acquire/release/...) to guarantee in-order execution of that code on the presence of reorderings? I think "while f1" and "f0 := false" should have acquire/release semantics respectively, and everything else should be nsync, but I'm not an expert on the subject. —Preceding unsigned comment added by 90.80.39.42 (talk) 12:18, 4 February 2009 (UTC)
Please provide sources
I would like to note that this article is completely (!) unsourced. It does not have one single reference. All Wikipedia content must be sourced and verifiable. If a source is not provided soon, I will take this to WP:AfD per WP:OR. Offliner (talk) 23:08, 7 April 2009 (UTC)