Thread synchronization methods and apparatus for managed run-time
environments are disclosed. An example method disclosed herein comprises
determining a set of locking operations to perform on a lock
corresponding to an object, performing an initial locking operation
comprising at least one of a balanced synchronization of the lock and an
optimistically balanced synchronization of the lock if the initial
locking operation is not unbalanced, and, if the initial locking
operation is active and comprises the optimistically balanced
synchronization, further comprising modifying a state of a pending
optimistically balanced release corresponding to the optimistically
balanced synchronization if a subsequent locking operation is unbalanced.