我的服务必须进行几十次API调用,但是哪些调用以及我多久调用它们取决于当前登录系统的人员。
因此,如果我当前有500人登录系统,他们的请求将优先于当前未登录的人。
我应该使用哪种类型的集合是线程安全的,以及我可以根据用户优先级迭代和变异的内容,以及我将根据应首先进行哪些调用来确定的其他分数。
您是否建议我使用executorservice来创建一组线程集?
答案 0 :(得分:1)
至于关于集合的第一个问题,您可以查看PriorityBlockingQueue这是PriorityQueue的线程安全版本。您可以实施比较器,为当前在线用户的项目确定优先级。我没有使用它,但我怀疑它不允许根据用户的当前状态动态更改顺序,但是会在项目添加到队列时根据用户的状态进行排序。
使用该集合,您可以使用executorservice或其他任何设备从队列中提取并执行API调用。