I don't know if we can answer this for sure at the moment given the ongoing discussion on shared, but looking at core.sync, it occurred to me that there's a major problem with the classes in there. None of the work with shared. And unless I'm missing something here, I don't see how many of them are even useful as anything other than shared. After all, what good is a mutex which is thread-local? But none of the methods on Mutex or its friends are shared.
So, the question is should the all have their methods shared? And if they should, is there any reason to have non-shared overloads for them? What good are they as anything other than shared? How is anyone using them right now? - Jonathan M Davis