
Sync Issue - TestBuffer.java
By:
lukejessee on
Jun 13th, 2012 | syntax:
Java | size: 0.71 KB | hits: 80 | expires: Never
import java.util.ArrayList;
import java.util.Collection;
public class TestBuffer{
private Collection<Object> list = new ArrayList<Object>();
private boolean insideGetBuffer = false;
public TestBuffer(){
System.out.println("Creating a TestBuffer");
}
synchronized public void add(Object item) {
list.add(item);
}
synchronized public void remove(Object item) {
if(insideGetBuffer){
System.out.println("Broke Synchronization ");
System.out.println(item);
}
}
synchronized public void getBuffer() {
insideGetBuffer = true;
try{
int i=0;
for(Object item : list) {
if(item != null){
i++;
}
}
}finally{
insideGetBuffer = false;
}
}
}