我正在使用数组来存储已连接客户端的列表。
每当我希望遍历客户列表时,我都会:clients.forEach(...)
。
我的问题是,这个线程是否安全,如果客户端在clients
语句期间断开连接(并因此从clients.forEach(...)
中删除)该怎么办?
答案 0 :(得分:1)
简短回答是肯定的。
forEach是一个同步过程,这意味着在进程完成对阵列上的forEach循环的完成之前,不会修改数组。
这是我从阅读中理解的: Are nodejs data-structures thread-safe by design?