
On Dec 8, 2005, at 5:15 AM, Seth Kurtzberg wrote:
[Discussion of the appropriate role of fairness.] The fundamental requirement is the same for all languages, I believe; the concurrently executing threads must produce a system state that is identical to _one_ system state which would be produced by running the threads sequentially. It is easy to show that to even enumerate all the possible sequences is NP-complete. Beyond the requirement of serializability, there is no practical alternative to a dose of human intelligence.
I'd point out that we're lucky if we even get serializability on most machines. That's a pretty strong guarantee. -Jan-Willem Maessen
At least people coding in Haskell have an understanding of the underlying issues. Alas, this is far from true for even experiences coders of imperative languages.
Seth