Java 在缓冲区中存储多个值

Java 在缓冲区中存储多个值,java,multithreading,buffer,Java,Multithreading,Buffer,我有一个consumer和producer类,我使用的是一个不同步的缓冲区。我希望生产者和消费者都能够在缓冲区中存储一个值,并且他们不应该相互覆盖。我还希望消费者能够访问缓冲区中设置的值,并能够更改它。有可能吗 缓冲区 public interface Buffer{ public void set( int value ) throws InterruptedException; public int get() throws InterruptedException; } publi

我有一个consumer和producer类,我使用的是一个不同步的缓冲区。我希望生产者和消费者都能够在缓冲区中存储一个值,并且他们不应该相互覆盖。我还希望消费者能够访问缓冲区中设置的值,并能够更改它。有可能吗

缓冲区

public interface Buffer{
public void set( int value ) throws InterruptedException; 

public int get() throws InterruptedException; 
}
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;
}
不同步缓冲区

public interface Buffer{
public void set( int value ) throws InterruptedException; 

public int get() throws InterruptedException; 
}
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;
}

在producer中,我在缓冲区中设置了一个随机数。我希望能够对使用者执行同样的操作,而不覆盖

为什么不同步?老实说,我对这一点很陌生,这是唯一一个适合我需要的,我可以使它工作a)java.util.concurrent包含一系列同步数据结构。b) 目前尚不清楚消费者和生产者之间的数据交换(?)应该如何使用缓冲区。c) 毫无疑问,这一切都是可能的。d) 显示您拥有的一些代码,以及在哪里遇到问题、异常、错误……我更新了我的问题如果有几个类访问缓冲区类的实例,您不必担心。仅当您正在运行多个线程实例时,显然您没有你发布的methios不能抛出InterruptedException,因为它们不会阻止。