4

Java 5 introduce the lock method. Any pros and cons using lock compared to synchronized keyword?

user705414
  • 19,158
  • 37
  • 109
  • 154

3 Answers3

5

'synchronize' will lock any resources accessed within the method. 'lock' allows you more granularity, and control (e.g. only locking some resources, or locking only if a certain condition is met, for example).

There's a pretty good code sample near the top of this link: http://download.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/locks/Lock.html

jefflunt
  • 32,873
  • 7
  • 86
  • 126
1

The java.util.concurrent locks give you more control on what and when to lock. You can still use the synchronized keyword if it fits your needs (e.g. if you need per-instance / per-class synchronization)

Bozho
  • 572,413
  • 138
  • 1,043
  • 1,132
-1

See the difference between synchronized keyword and lock enter image description here

Rakesh Soni
  • 8,472
  • 5
  • 40
  • 48