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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started