|
Scala example source code file (FIFOWaitQueue.java)
The Scala FIFOWaitQueue.java source codepackage scala.actors.threadpool.helpers; import java.util.Collection; import java.util.ArrayList; import java.util.List; /** * Simple linked list queue used in FIFOSemaphore. * Methods are not synchronized; they depend on synch of callers. * Must be public, since it is used by Semaphore (outside this package). * NOTE: this class is NOT present in java.util.concurrent. **/ public class FIFOWaitQueue extends WaitQueue implements java.io.Serializable { private final static long serialVersionUID = 2416444691925378811L; protected transient WaitNode head_ = null; protected transient WaitNode tail_ = null; public FIFOWaitQueue() {} public void insert(WaitNode w) { if (tail_ == null) head_ = tail_ = w; else { tail_.next = w; tail_ = w; } } public WaitNode extract() { if (head_ == null) return null; else { WaitNode w = head_; head_ = w.next; if (head_ == null) tail_ = null; w.next = null; return w; } } public void putBack(WaitNode w) { w.next = head_; head_ = w; if (tail_ == null) tail_ = w; } public boolean hasNodes() { return head_ != null; } public int getLength() { int count = 0; WaitNode node = head_; while (node != null) { if (node.waiting) count++; node = node.next; } return count; } public Collection getWaitingThreads() { List<Thread> list = new ArrayList Other Scala examples (source code examples)Here is a short list of links related to this Scala FIFOWaitQueue.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.