Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which of these correctly declares a stamped lock's optimistic read?

  • A.long stamp = sl.readLock().tryOptimistic();
  • B.Lock l = sl.tryOptimisticRead();
  • C.long stamp = sl.tryOptimisticRead();
  • D.boolean ok = sl.tryOptimisticRead();

Answer: C

Correct answer: long stamp = sl.tryOptimisticRead();

An optimistic read returns a stamp rather than a lock, and no lock is actually taken - the reader does its work and then calls validate(stamp) to find out whether a writer intervened. A zero stamp means the attempt failed, and a failed validation means the work must be redone under a real read lock.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.