This week only. Pastebin PRO Accounts Christmas Special! Don't miss out!Want more features on Pastebin? Sign Up, it's FREE!
Guest

Sync Issue - TestBuffer.java

By: lukejessee on Jun 13th, 2012  |  syntax: Java  |  size: 0.71 KB  |  views: 105  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. import java.util.ArrayList;
  2. import java.util.Collection;
  3.  
  4. public class TestBuffer{
  5.         private Collection<Object> list = new ArrayList<Object>();
  6.         private boolean insideGetBuffer = false;
  7.        
  8.         public TestBuffer(){
  9.                 System.out.println("Creating a TestBuffer");
  10.         }
  11.        
  12.         synchronized public void add(Object item) {
  13.                 list.add(item);
  14.         }
  15.        
  16.         synchronized public void remove(Object item) {
  17.                 if(insideGetBuffer){
  18.                         System.out.println("Broke Synchronization ");
  19.                         System.out.println(item);
  20.                 }
  21.         }
  22.        
  23.         synchronized public void getBuffer() {
  24.                 insideGetBuffer = true;
  25.                 try{
  26.                         int i=0;
  27.                         for(Object item : list) {
  28.                                 if(item != null){
  29.                                         i++;
  30.                                 }
  31.                         }
  32.                 }finally{
  33.                         insideGetBuffer = false;
  34.                 }
  35.         }
  36. }
clone this paste RAW Paste Data