线程安全的数组删除

dmk*_*mkc 7 javascript

我知道一个splice项目可以是一个数组,也可以删除它delete.前一种方法可能会导致并发问题,例如,如果一个线程在数组上移动而另一个线程刚刚移位或拼接.delete没有这个问题,如果forEach在数组上使用,因为forEach将遍历数组中的空洞.

然而,阵列不能永远保持增长并且需要扫描,可能导致与拼接相同的问题.听起来我需要锁定,但如果Javascript有任何设施,我会很开心.有什么想法吗?

Den*_*ret 7

不,你不能有并发问题,因为JavaScript不是多线程的.即使您使用Web工作者,也不会有任何问题,因为没有数据共享(工作人员通过传递消息进行通信).即使在node.js中,您的脚本也不是多线程的.

所以简单地使用splice,就没有必要锁定数组.