This week's book giveaway is in the OO, Patterns, UML and Refactoring forum.
We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line!
See this thread for details.
The moose likes Developer Certification (SCJD/OCMJD) and the fly likes choice between ReadWriteLock and synchronize Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

JavaRanch » Java Forums » Certification » Developer Certification (SCJD/OCMJD)
Bookmark "choice between ReadWriteLock and synchronize" Watch "choice between ReadWriteLock and synchronize" New topic

choice between ReadWriteLock and synchronize

Helen Ma
Ranch Hand

Joined: Nov 01, 2011
Posts: 451
In Monhouse's book, in retrieveDvd(long locationInFile) method, the auther choose synchronize (database) instead of using lock.readLock().lock().
The explanation "Using a ReadWriteLock would be a counterproductive in this case, as all operations would need a WriteLock.... would result in poorer performance."

1. When I decide to use ReadWriteLock instead of synchronize keyword, should I make sure I have a thread doing writing and another thread doing reading?
2. If I only have threads doing reading from a data file, should I use synchronize keyword?
3. If I only have threads doing reading from a data file and I choose to use ReadWriteLock, the lock algorithm will end up checking if there is a write lock exist and slows down the performance. Is it true?
Roel De Nijs

Joined: Jul 19, 2004
Posts: 7208

Again: did you study the API carefully?

SCJA, SCJP (1.4 | 5.0 | 6.0), SCJD
I agree. Here's the link:
subject: choice between ReadWriteLock and synchronize
It's not a secret anymore!