<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## Mix Worker Pool 通用的工作池類庫 A common workerpool class library > 該庫還有 php 版本:https://github.com/mix-php/worker-pool ## Installation - 安裝 ``` go get -u github.com/mix-go/workerpool ``` ## Usage 先創建一個 Worker 結構體 ~~~ type FooWorker struct { workerpool.WorkerTrait } func (t *FooWorker) Do(data interface{}) { // do something } func NewFooWorker() workerpool.Worker { return &FooWorker{} } ~~~ 調度任務 ~~~ jobQueue := make(chan interface{}, 200) d := workerpool.NewDispatcher(jobQueue, 15, NewFooWorker) go func() { // 投放任務 for i := 0; i < 10000; i++ { jobQueue <- i } // 投放完停止調度 d.Stop() }() d.Run() // 等待任務全部執行完成并停止全部 Worker ~~~ 異常處理:`Do` 方法中執行的代碼,可能會出現 `panic` 異常,這時該 Worker 當前協程會拋出 `panic`,然后會重啟一個新的協程繼續處理任務。我們可以通過 `recover` 獲取異常信息記錄到日志或者執行其他處理 ~~~ func (t *FooWorker) Do(data interface{}) { defer func() { if err := recover(); err != nil { // handle error } }() // do something } ~~~ ## License Apache License Version 2.0, http://www.apache.org/licenses/
                  <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>

                              哎呀哎呀视频在线观看