① 到底什麼是消息隊列java中如何實現消息隊列
消息隊列,顧名思義 首先是個隊列。
隊列的操作有入隊和出隊
也就是有一個程序在產生內容然後入隊(生產者)
另一個程序讀取內容,內容出隊(消費者)
這是最最基本的概念。
java中的消息隊列
消息隊列是線程間通訊的手段:
importjava.util.*
publicclassMsgQueue{
privateVectorqueue=null;
publicMsgQueue(){
queue=newVector();
}
publicsynchronizedvoidsend(Objecto)
{
queue.addElement(o);
}
publicsynchronizedObjectrecv()
{
if(queue.size()==0)
returnnull;
Objecto=queue.firstElement();
queue.removeElementAt(0);//orqueue[0]=nullcanalsowork
returno;
}
}
因為java中是locked by object的所以添加synchronized 就可以用於線程同步鎖定對象
可以作為多線程處理多任務的存放task的隊列。他的client包括封裝好的task類以及thread類