0
我正在使用數組來存儲連接的客戶端列表。Array.forEach線程安全
每當我想遍歷客戶端列表時,我都這樣做:clients.forEach(...)
。
我的問題是,這是線程安全的,因爲如果客戶在clients.forEach(...)
聲明期間斷開連接(因此從clients
中刪除),該怎麼辦?
我正在使用數組來存儲連接的客戶端列表。Array.forEach線程安全
每當我想遍歷客戶端列表時,我都這樣做:clients.forEach(...)
。
我的問題是,這是線程安全的,因爲如果客戶在clients.forEach(...)
聲明期間斷開連接(因此從clients
中刪除),該怎麼辦?
簡短回答是肯定的。
forEach是一個同步過程,這意味着只有在過程完成對數組執行forEach循環之後,纔會修改該數組。
雖然簡單的答案是真的,推理是錯誤的。 .forEach是同步的,因此沒有其他代碼正在同時運行。 –
你說得對,我確定了答案。 – Trendy
您還應該提到Node.js是單線程的,因此線程問題通常可以忽略。 – Mallox