iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

三十天說寫就寫的Coding文章系列 第 2

Day2 - 學習主從模式

  • 分享至 

  • twitterImage
  •  

嗨,大家好。

今天來使用Javascript來學習主從模式。

主從模式會由一個Master將計算量大的任務分配給底下好幾個Worker,
等各Worker計算完結果後,再一一回傳至Master,Master將各計算結果處理好後再統一回傳。
這樣做的好處是,可以很好的避免例外結果失敗後,全部計算重來。
如果其中一個計算結果失敗,其他幾個Worker成功回傳,
可以由Master再去處理失敗的這個Worker的任務,重新啟動一個Worker計算。

屬性:

  • TaskQueue或Array:用於放置執行計算的項目
  • WorkerList: 儲存可執行任務的Worker物件與WorkerId
  • results: 儲存計算結果

方法:

  • getResults(): 取得計算結果
  • addTask(): 加入計算任務至taskQueue中
  • run(): 使用Worker執行計算任務
  • taskState: 處理計算任務狀態

Master class骨架如下:

class Master {
    taskQueue = [];
    WorkerList =[];
    results = [];
    _taskState;
    constructor() {}
    get taskState() {}
    set taskState() {}
    getResults() {}
    run() {}
}

目前先完成這樣囉~
其他待補充喔。


上一篇
Day1 - 來寫Javascript吧!
系列文
三十天說寫就寫的Coding文章2
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言