liurunyu
2023-11-22 429f9d85eddbb07081c149d7156964337ba688aa
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/queue/Queue.java
@@ -4,7 +4,7 @@
import org.apache.logging.log4j.Logger;
/**
 * 队列,先进先出
 * 队列,先进先出,非线程安全
 */
public class Queue {
   @SuppressWarnings("unfinal")
@@ -62,6 +62,7 @@
    */
   @SuppressWarnings("unused")
   public void pushHead(NodeObj obj)throws Exception{
      //两个线程环境,需要同步锁
      synchronized(synObj){
         if(obj == null){
            return ;
@@ -89,6 +90,7 @@
    * @param obj 入列的对象
    */
   public void pushTail(NodeObj obj)throws Exception{
      //两个线程环境,需要同步锁
      synchronized(synObj){
         if(obj == null){
            return ;
@@ -116,6 +118,7 @@
    * @return 出列对象
    */
   public NodeObj pop(){
      //两个线程环境,需要同步锁
      synchronized(synObj){
         NodeObj obj = null ;
         if(this.size > 0){
@@ -139,11 +142,14 @@
    */
   @SuppressWarnings("unused")
   public Node getFirstNode(){
      //两个线程环境,需要同步锁
      synchronized(synObj) {
      Node node = this.head.next ;
      if(node != this.tail){
         return node ;
      }
      return null ;
      }
   }
   /**
    * 得到最后一个节点,但不把节点从队列中清除
@@ -151,12 +157,15 @@
    */
   @SuppressWarnings("unused")
   public Node getLastNode(){
      //两个线程环境,需要同步锁
      synchronized(synObj) {
      Node node = this.tail.pre ;
      if(node != this.head){
         return node ;
      }
      return null ;
   }
   }
   
   /**
    * 清除一个节点