【发布时间】:2014-04-25 00:14:46
【问题描述】:
所以我正在研究什么对我来说是复杂的 java。我正在研究多线程,我想知道何时将对象的相同实例发送到两个不同的线程,然后将该对象的实例分配给两个线程中的两个单独的实例变量。 java是否将其视为原始对象的同一实例?这仅适用于线程吗?
例如:在我的驱动中
SharedCell share = new SharedCell();
Producer p = new Producer(accessCount, share);
Consumer c = new Consumer(accessCount, share);
在线程中:
public Producer(int accesses, SharedCell cell) {
super("Producer");
this.accesses = accesses;
this.cell = cell;
}
和
public Consumer(int accesses, SharedCell cell) {
super("Consumer");
this.accesses = accesses;
this.cell = cell;
}
Producer 中的 run 方法更改 SharedCell 对象中变量的值 Consumer 中的 run 方法访问该变量。这些应该关闭这样做。
那么 Consumer 和 Producer 中的单元格是否引用了驱动程序发送给它们的同一个对象?
【问题讨论】: