[concurrency-interest] Why can't wait-set Threads be privileged?
thurston at nomagicsoftware.com
Sat Jun 29 22:27:49 EDT 2013
So, in java the behavior of Object.wait and Object.notify():
obj.wait() // Thread 1 is put in the wait-set
obj.notify() // Select a Thread from the wait-set and move it to the
What I've always wondered is why there isn't some sort of 'overloaded'
Object.notify(...) that would essentially do:
whichever thread is selected from the notify() call, put it at the 'head' of
the wait-set so that it will enter the monitor next. (Note: what I'm
suggesting is not the same thing as the 'fairness' parameter to
Obviously wait() and notify() are native methods, so what I'm wondering is:
is this a limitation in modern OS's? CPUs?
I don't know enough about the actual implementation to know what the issues
are, but this would definitely be a useful feature (think multi-producer,
Of course there are other patterns that you can take to achieve similar
results, but it would appear to be a lot simpler if you could just specify
that is the behavior you want in an Object.notify(boolean: privilegewaiters)
or some equivalent.
View this message in context: http://jsr166-concurrency.10961.n7.nabble.com/Why-can-t-wait-set-Threads-be-privileged-tp9808.html
Sent from the JSR166 Concurrency mailing list archive at Nabble.com.
More information about the Concurrency-interest