DRLVM has a complex system of locks used to synchronize multiple threads operation.

Thread primitives in DRLVM

Low-level primitives for use in C++ code

Higher-level synchronization objects

jthread_monitor_init  thread\src\thread_java_monitors.c
jthread_monitor_enter thread\src\thread_java_monitors.c
jthread_monitor_try_enter thread\src\thread_java_monitors.c
jthread_monitor_exit  thread\src\thread_java_monitors.c
jthread_monitor_notify thread\src\thread_java_monitors.c
jthread_monitor_notify_all thread\src\thread_java_monitors.c
jthread_monitor_wait  thread\src\thread_java_monitors.c
jthread_monitor_timed_wait thread\src\thread_java_monitors.c
jthread_monitor_init  thread/src/thread_java_monitors.c
jthread_monitor_enter thread/src/thread_java_monitors.c
jthread_monitor_try_enter thread/src/thread_java_monitors.c
jthread_monitor_exit  thread/src/thread_java_monitors.c
jthread_monitor_notify thread/src/thread_java_monitors.c
jthread_monitor_notify_all thread/src/thread_java_monitors.c
jthread_monitor_wait  thread/src/thread_java_monitors.c
jthread_monitor_timed_wait thread/src/thread_java_monitors.c

Topics to be covered by this page

Some of the topics are already covered by http://harmony.apache.org/subcomponents/drlvm/TM.html