posted 12 years ago
Hi
I have a question which needs some expert advise . I have a class which looks like this
class A
{
public int i = 0;
public int read()
{
return i;
}
public void write()
{
i++;
}
}
This program needs to be modified in a such a way that
1. Two threads should be able to read the value of i
2. Two threads should not be able to write at a time
3. Read should not be allowed when write is happening because of some thread
Can any one let me know the best way of doing this ??
I have a question which needs some expert advise . I have a class which looks like this
class A
{
public int i = 0;
public int read()
{
return i;
}
public void write()
{
i++;
}
}
This program needs to be modified in a such a way that
1. Two threads should be able to read the value of i
2. Two threads should not be able to write at a time
3. Read should not be allowed when write is happening because of some thread
Can any one let me know the best way of doing this ??
posted 12 years ago
This is hardly an advanced topic. In fact, it seems more like a homework questions. Anyway, the Sun tutorial on synchronization should be a good point for you to start.
Henry
Henry
posted 12 years ago
Hi there,
I am no expert by if you are using JDK 1.5 there is an easy way of doing that.
Take a look at the ReentranteadWriteLock class and the ReadWriteLock interface.
Using the methods there you can easily implement your criteria.
I am no expert by if you are using JDK 1.5 there is an easy way of doing that.
Take a look at the ReentranteadWriteLock class and the ReadWriteLock interface.
Using the methods there you can easily implement your criteria.

Tell me how it all turns out. Here is a tiny ad:
Thread Boost - a very different sort of advertising
https://coderanch.com/t/674455/Thread-Boost-feature
|