<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 請求發送者與接收者解耦——命令模式(三) 4 命令隊列的實現 有時候我們需要將多個請求排隊,當一個請求發送者發送一個請求時,將不止一個請求接收者產生響應,這些請求接收者將逐個執行業務方法,完成對請求的處理。此時,我們可以通過命令隊列來實現。 命令隊列的實現方法有多種形式,其中最常用、靈活性最好的一種方式是增加一個CommandQueue類,由該類來負責存儲多個命令對象,而不同的命令對象可以對應不同的請求接收者,CommandQueue類的典型代碼如下所示: ``` import java.util.*; class CommandQueue { //定義一個ArrayList來存儲命令隊列 private ArrayList<Command> commands = new ArrayList<Command>(); public void addCommand(Command command) { commands.add(command); } public void removeCommand(Command command) { commands.remove(command); } //循環調用每一個命令對象的execute()方法 public void execute() { for (Object command : commands) { ((Command)command).execute(); } } } ``` 在增加了命令隊列類CommandQueue以后,請求發送者類Invoker將針對CommandQueue編程,代碼修改如下: ``` class Invoker { private CommandQueue commandQueue; //維持一個CommandQueue對象的引用 //構造注入 public Invoker(CommandQueue commandQueue) { this. commandQueue = commandQueue; } //設值注入 public void setCommandQueue(CommandQueue commandQueue) { this.commandQueue = commandQueue; } //調用CommandQueue類的execute()方法 public void call() { commandQueue.execute(); } } ``` 命令隊列與我們常說的“批處理”有點類似。批處理,顧名思義,可以對一組對象(命令)進行批量處理,當一個發送者發送請求后,將有一系列接收者對請求作出響應,命令隊列可以用于設計批處理應用程序,如果請求接收者的接收次序沒有嚴格的先后次序,我們還可以使用多線程技術來并發調用命令對象的execute()方法,從而提高程序的執行效率。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看