<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    keep moving!

    We must not cease from exploration. And the end of all our exploring will be to arrive where we began and to know the place for the first time.
    隨筆 - 37, 文章 - 2, 評論 - 3, 引用 - 0
    數據加載中……

    Design Pattern: Guarded Suspension 模式

    考慮這麼一個伺服器,它可以處理來自多個客戶端的服務請求(Request),為了不丟失客戶的請求,它要維持一個緩衝區,客戶的請求會先儲存至緩衝區中,而伺服器會從緩衝區中取出請求並執行,如果緩衝區中沒有請求,則伺服器就等待,直到被通知有新的請求存入緩衝區中,伺服器再度進行請求的執行。

    關於這個描述的一個簡單 UML 順序圖如下所示:
    GuardedSuspension

    首先要考慮到,緩衝區會同時被兩個以上的執行緒進行存取,即伺服器的請求處理執行緒與客戶端執行緒,所以必須對緩衝區進行防護。

    再來是當緩衝區中沒有請求時,伺服器必須等待直到被通知有新的請求。

    Guarded Suspension模式關注的是執行的流程架構,以Java來實現這個架構的話如下所示:
    • RequestQueue.java
    public class RequestQueue {
    private java.util.LinkedList queue;
    public RequestQueue() {
    queue = new java.util.LinkedList();
    }

    public synchronized Request getRequest() {
    while(queue.size() <= 0) {
    try {
    wait();
    }
    catch(InterruptedException e) {}
    }
    return (Request) queue.removeFirst();
    }

    public synchronized void putRequest(Request request) {
    queue.addLast(request);
    notifyAll();
    }
    }

    一個例子是多人聊天伺服器,請求可能只是一個客戶端送出的聊天訊息,聊天訊息會先存至緩衝區中,伺服器會不斷的從緩衝區中取出聊天訊息並發給客戶端,如果緩衝區中沒有新訊息,則伺服器就進入等待,直到有一個客戶端發出聊天訊息並存入緩衝區中,此時伺服器再度被通知,然後再度取出訊息並進行發送。


    張金鵬 2007-04-17 10:54 發表評論

    文章來源:http://www.tkk7.com/jesson2005/articles/111194.html

    posted on 2008-09-07 11:06 大石頭 閱讀(170) 評論(0)  編輯  收藏 所屬分類: 多線程

    主站蜘蛛池模板: baoyu116.永久免费视频| 欧美a级成人网站免费| 亚洲男女性高爱潮网站| 免费视频淫片aa毛片| 在线观看人成视频免费无遮挡| 亚洲日韩乱码中文无码蜜桃| 免费一看一级毛片人| 99爱免费观看视频在线| 免费国产黄网站在线看| 亚洲综合国产精品| 亚洲国产精品不卡毛片a在线| 99re在线这里只有精品免费| 偷自拍亚洲视频在线观看| 久久久无码精品亚洲日韩京东传媒| 国产一卡二卡≡卡四卡免费乱码| 色欲色香天天天综合网站免费| 立即播放免费毛片一级| 亚洲精品成人网站在线播放| 亚洲精品麻豆av| 成人免费看黄20分钟| 99在线在线视频免费视频观看 | 亚洲国产午夜精品理论片| 亚洲精品无码久久不卡| 成人免费无码大片A毛片抽搐| 中文字幕免费视频一| 国产V片在线播放免费无码 | 黄+色+性+人免费| 成人免费ā片在线观看| 自拍偷自拍亚洲精品偷一| 亚洲免费闲人蜜桃| 亚洲av色福利天堂| 国产亚洲精品国看不卡| 国产成人免费永久播放视频平台| 4虎永免费最新永久免费地址| 免费观看91视频| 亚洲精品偷拍视频免费观看| 精品国产亚洲AV麻豆| 亚洲女女女同性video| 亚洲一卡2卡3卡4卡乱码 在线| 综合自拍亚洲综合图不卡区| 久久久亚洲精品视频|