/** * Remove an object from the queue * (blocks until an element is available). */ public T dequeue() { return dequeue(-1); }
final int[] stat = new int[3]; final ArrayBlockingQueue queue = new ArrayBlockingQueue(); queue.enqueue("Item"); stat[1] = Math.max(queue.size(), stat[1]); +"Queue size is now "+queue.size()+".\n" +"Max queue size was "+stat[1]+".");
this.group = new ThreadGroup("strategy_thread_pool_"+poolcnt++); this.running = true; this.tasks = new ArrayBlockingQueue<Runnable>();
public void run() { while(true) { try { Object item = queue.dequeue(); // Object item = queue.take(); System.out.println("Processing: "+item); stat[1] = Math.max(queue.size(), stat[1]); if(queue.size()==0) { stat[0]++; if(queue.size()==0 && stat[2]!=0) { System.out.println("Queue is now empty."); break; } } } catch(Exception e) { StringWriter sw = new StringWriter(); e.printStackTrace(new PrintWriter(sw)); throw new RuntimeException(sw.toString()); } } } }).start();
queue = new ArrayBlockingQueue<Message>(); queue = new ArrayBlockingQueue<Message>();