Question: concurrency problem part 1: Your friend has written a class for safely computing with integers in a concurrent environment. To this end, the class synchronizes

concurrency problem

part 1:

Your friend has written a class for safely computing with integers in a concurrent environment. To this end, the class synchronizes all methods.

Describe a scenario where two threads operating concurrently on two SafeInt objects can result in an undesirable outcome.

public class SafeInt { public SafeInt() { i = 0; }

synchronized void set(int x) { i = x; }

synchronized int get() { return i; }

synchronized void add(SafeInt other) { i = i + other.get(); }

private int i; }

part 2:

How would you fix the problem (show your changes to the code)?

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!