某需求,当前存在一个有序队列,要求可以原子性的增加、删除、重排列表中的元素。并且队列的内容是通过Web来管理和交互的。
有没有什么很好的解决方案?目前存储和算法都没定,只是打算用Python实现。
用锁和优先级的话,由于多用户访问时,可能出现以下情况导致原子性丧失:
1、A用户打开页面
2、B用户打开页面
3、A用户添加了一个元素,并提交(此时这个修改并没有反馈到B用户那里去)
4、B用户重排了列表。此时会有冲突,用优先级来实现的话,必然可能出现重排后的原始列表中的某项和后添加的那个元素优先级冲突,造成逻辑丧失。
不知道除了优先级和锁的方法,还有什么比较好的实现?
有没有什么很好的解决方案?目前存储和算法都没定,只是打算用Python实现。
用锁和优先级的话,由于多用户访问时,可能出现以下情况导致原子性丧失:
1、A用户打开页面
2、B用户打开页面
3、A用户添加了一个元素,并提交(此时这个修改并没有反馈到B用户那里去)
4、B用户重排了列表。此时会有冲突,用优先级来实现的话,必然可能出现重排后的原始列表中的某项和后添加的那个元素优先级冲突,造成逻辑丧失。
不知道除了优先级和锁的方法,还有什么比较好的实现?