> FWIW, Win32 CriticalSections are guaranteed to be fair, but they don't > guarantee a defined order of wakeup among threads of equal priority.
Indeed, I should have quoted the MSDN docs: "The threads of a single process can use a critical section object for mutual-exclusion synchronization. There is no guarantee about the order in which threads will obtain ownership of the critical section, however, the system will be fair to all threads." http://msdn.microsoft.com/en-us/library/ms683472(VS.85).aspx I read somewhere else that the FIFO order is present, but obviously we shouldn't to expect that if it's not documented as such. > According to a past discussion on this list, the current implementation isn't: > http://mail.python.org/pipermail/python-dev/2008-March/077814.html > (at least on the poster's system) > I believe he's only talking about Linux. Apples & oranges when it comes to stuff like this, although it still justifies looking into what happens every _Py_CheckInterval on Windows. - Phillip _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com