js高并发下如何删除数组的某个对象

let userIndex = this.userList.findIndex(q => q.userId == userId);
this.userList.splice(userIndex, 1);

环境是vuejs。
上面是我写的常规删除数组指定对象的代码。
但是,如果这个this.userList是在高并发的场景下,可能在执行第二行删除逻辑的时候,就已经被修改过了,这个时候,有什么线程安全的做法吗?

写到这里,突然想到,js是单线程的。。。。是不是不存在我担忧的这个问题?

阅读 2.5k
3 个回答

是的,不存在你这种情况。js是单线程

顺便多说一句。你的删除效率是 n。删除n个就是 N N。如果真的是高并发,可以自己整个数据结构。或者说缓存几个,然后一并删除。删除的时候从后往前删。当然还得看你多高的并发。每秒几百个?还是每秒几个?*

是的,不存在你这种情况

看到 js 高并发,以为是 nodejs ,一看又是 vuejs,黑人问号。

浏览器端哪来的高并发?再高的并发,也是每个浏览器端自己跑自己的,互不干扰。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题