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 定義檢出執行緒,如果佇列...
利用多執行緒與訊息佇列實現聊天
在是乙個簡易聊天中提到,乙個程序只能做一件事,其實不然,只是當時沒有涉及到執行緒的概念。所以今天在用多執行緒來實現一次。依舊是兩個程式,每個程式包含兩個執行緒。include include include include include include include include includ...