自建服务器如何处理可能出现的同时请求

使用问题 · 837 次浏览
huanggc66 创建于 2024-04-12 15:40

整体思路:当quicker创建的服务器收到请求时,根据不同的请求路径作为参数,去运行动作本身,获取数据后作出响应。

实际需求,比如我在动作里存放一个列表,每次收到请求时,取列表第一个元素,返回值后,从列表中去除这个元素。

但好像有个隐患,如何保证当服务器同时收到请求时,不会造成冲突?动作在此https://getquicker.net/Sharedaction?code=d58df893-ad94-4150-263b-08dbcf12c669


回复内容
WindChant 2024-04-12 15:54
#1

不存在真正的同时, 你担心的应该是在运行动作时收到新的请求, 加个锁嘛, 可以在动作开始时设置一个状态变量为True, 结束时改为False.当动作开始时状态已经为True则特殊处理, 循环等待或者抛弃就和你这个徽标类似

WindChant 回复 WindChant 2024-04-12 15:55 :

操作列表时加锁就好

huanggc66 回复 WindChant 2024-04-12 16:32 :

好的,感谢大佬!

huanggc66 回复 WindChant 2024-04-12 18:12 :

大佬,发现一个问题,如果下面的步骤处理不够快,下一个请求就触发了,那么lock状态还没来得及改成false,就会一直循环等待。

回复主贴