Lock Based Synchronization

Also known as Pessimistic Locking.

Typical synchronization techniques are Lock Based Synchronization:

Semaphores,

Monitors, or

Messages (like using regular queues, but interprocess).

This division is most noticed in Unix, except that instead of Monitors, Unix has Shared Memory, which is just a communication mechanism which requires synchronization.

Java Language has monitors and nothing else. This is because Monitors are easier to use and they look a lot like classes. Besides, any of the three can be implemented using either of the other two.

And then Lock Free Synchronization was born.



See original on c2.com