четверг, 15 октября 2009 г.

ReentrantLock vs synchronized (15 oct lecture)

Brian Goetz, "More flexible, scalable locking in JDK 5.0" (EN, RU).
- timed lock waits
- interruptible lock waits
- non-block-structured-locks
- multiple condition variables
- lock polling
- fair policy
Но учтите, это для Java 5, тут еще не ускорили synchonized (естественно - не ускорили в конктерной JVM - в Sun HotSpot JVM).

А вот для Java 6, уже ускорили synchronized (в HotSpot JVM):
Brian Goetz, "Synchronization optimization in Mustang" (EN, RU)
- lock elision (senks to escape analisys)
- lock coarsening
- adaptive spin lock (не рассказывал)

Про escape-analisys можно кратко почитать тут
Brian Goetz, "Urban performance legends, revisited" [EN, RU]

Комментариев нет:

Отправить комментарий