Reentrant ReadWriteLock example of value calculator (original) (raw)

This is an example of how to use a ReentrantReadWriteLock of a value calculator. We have implemented a method that uses a ReadWriteLock and implements the calculate(int value), the getCalculatedValue() and the getValue() methods. In short the class is described below:

Let’s take a look at the code snippet that follows:

public class Calculator { private int calculatedValue; private int value; private ReadWriteLock lock = new ReentrantReadWriteLock();

public void calculate(int value) {

lock.writeLock().lock();

try {

this.value = value;

this.calculatedValue = doMySlowCalculation(value);

} finally {

lock.writeLock().unlock();

} }

public int getCalculatedValue() {

lock.readLock().lock();

try {

return calculatedValue;

} finally {

lock.readLock().unlock();

} }

public int getValue() {

lock.readLock().lock();

try {

return value;

} finally {

lock.readLock().unlock();

} } }

This was an example of how to use a ReentrantReadWriteLock of a value calculator in Java.

Related Article:

Reference: Java Concurrency Part 2 – Reentrant Locks from our JCG partners at the Carfey Software blog

Photo of Byron Kiourtzoglou

Byron is a master software engineer working in the IT and Telecom domains. He is an applications developer in a wide variety of applications/services. He is currently acting as the team leader and technical architect for a proprietary service creation and integration platform for both the IT and Telecom industries in addition to a in-house big data real-time analytics solution. He is always fascinated by SOA, middleware services and mobile development. Byron is co-founder and Executive Editor at Java Code Geeks.

Back to top button