java多執行緒 訊息佇列

2021-08-09 10:29:56 字數 847 閱讀 1429

1、定義乙個佇列快取池:

private static list queuecache = new linkedlist();

2、定義佇列緩衝池最大訊息數,如果達到該值,那麼佇列檢入將等待檢出低於該值時繼續進行。

private integer offermaxqueue = 2000;

3、定義檢出執行緒,如果佇列緩衝池沒有訊息,那麼檢出執行緒會執行緒等待中

new thread()

queue queue = queuecache.remove(0);

if(isiplock(queuestr))else

size = queuecache.size();

if(size=0)

}} catch (exception e) finally catch (execption e) }}

}.start();

4、檢入佇列

synchronized (queuecache) catch (interruptedexception e)

}//if

if(size<=offermaxqueue&&size>0)

break;//檢入完畢

}//while

}5、鎖方法實現

/**

* 鎖

* @param ip

* @return

* @throws

*/ public boolean islock(string queuestr)

//解鎖

public void uniplock(string queuestr)

}

java多執行緒訊息佇列的實現

1 定義乙個佇列快取池 private static list queuecache new linkedlist 2 定義佇列緩衝池最大訊息數,如果達到該值,那麼佇列檢入將等待檢出低於該值時繼續進行。private integer offermaxqueue 2000 3 定義檢出執行緒,如果佇列...

java多執行緒 訊息佇列的實現

1 定義乙個佇列快取池 private static list queuecache new linkedlist 2 定義佇列緩衝池最大訊息數,如果達到該值,那麼佇列檢入將等待檢出低於該值時繼續進行。private integer offermaxqueue 2000 3 定義檢出執行緒,如果佇列...

多執行緒14 模擬訊息佇列

1.模擬queue author alienware public class myqueue public void put object obj catch interruptedexception e list.add obj count.getandincrement count syste...