Go的工作池
緩沖信道的重要應(yīng)用之一就是實(shí)現(xiàn)工作池。
一般而言,工作池就是一組等待任務(wù)分配的線程。一旦完成了所分配的任務(wù),這些線程可繼續(xù)等待任務(wù)的分配。
我們會(huì)使用緩沖信道來實(shí)現(xiàn)工作池。我們工作池的任務(wù)是計(jì)算所輸入數(shù)字的每一位的和。例如,如果輸入 234,結(jié)果會(huì)是 9(即 2 + 3 + 4)。向工作池輸入的是一列偽隨機(jī)數(shù)。
我們工作池的核心功能如下:?
- 創(chuàng)建一個(gè) Go 協(xié)程池,監(jiān)聽一個(gè)等待作業(yè)分配的輸入型緩沖信道。?
- 將作業(yè)添加到該輸入型緩沖信道中。?
- 作業(yè)完成后,再將結(jié)果寫入一個(gè)輸出型緩沖信道。?
- 從輸出型緩沖信道讀取并打印結(jié)果。
我們會(huì)逐步編寫這個(gè)程序,讓代碼易于理解。
第一步就是創(chuàng)建一個(gè)結(jié)構(gòu)體,表示作業(yè)和結(jié)果。
總結(jié)
- 上一篇: 若点(1-2m,m-4)在第一象限内,则
- 下一篇: 长平之战赵国不换廉颇,战争会胜利吗?