消息隊列,顧名思義 首先是個隊列。
隊列的操作有入隊和出隊
也就是有壹個程序在產生內容然後入隊(生產者)
另壹個程序讀取內容,內容出隊(消費者)
這是最最基本的概念。
java中的消息隊列
消息隊列是線程間通訊的手段:
import?java.util.*public?class?MsgQueue{
private?Vector?queue?=?null;
public?MsgQueue(){
queue?=?new?Vector();
}
public?synchronized?void?send(Object?o)
{
queue.addElement(o);
}
public?synchronized?Object?recv()
{
if(queue.size()==0)
return?null;
Object?o?=?queue.firstElement();
queue.removeElementAt(0);//or?queue[0]?=?null?can?also?work
return?o;
}
}
因為java中是locked by object的所以添加synchronized 就可以用於線程同步鎖定對象
可以作為多線程處理多任務的存放task的隊列。他的client包括封裝好的task類以及thread類