我有一个消费者和生产者类,我使用的是非同步缓冲区。我希望生产者和消费者都能够在缓冲区中存储一个值,并且它们不应该相互覆盖。我还希望消费者能够访问缓冲区中设置的值并能够更改它。有可能吗?
缓冲器
public interface Buffer{
public void set( int value ) throws InterruptedException;
public int get() throws InterruptedException;
}
unsynchronizedBuffer
public void set( int value) throws InterruptedException{
System.out.printf( "Producer writes\t%2d ", value );
buffer = value;
}
public int get() throws InterruptedException{
System.out.printf( "Consumer guesses ", buffer );
return buffer;
}
在制作人中,我在Buffer中设置了一个随机数。我希望能够对消费者做同样的事情而不会覆盖