是否有特定的设计模式来帮助管理外部连接和并发请求
本文关键字:外部 管理 连接 请求 并发 帮助 设计模式 是否 | 更新日期: 2023-09-27 18:01:39
我目前正在使用一个web应用程序的外部API。当用户单击一个按钮时,我打开连接,进行适当的调用,然后关闭连接。这工作得很好,然而,在多线程的web环境中,当有两个同时点击,应用程序崩溃…这是由于连续调用紧密连接造成的。
理想情况下,我想在第一个请求上打开连接,然后进行所有呼叫。如果一个并发请求进来,并且它看到有一个打开的连接,那么它应该使用它。只有当当前没有请求处理时,连接才应该被关闭。
我开始写一些代码来实现我想要的,但我想知道是否有一个特定的设计模式,任何人都知道来解决这个问题,或者如果有人有任何建议…谢谢! !
我猜你是在寻找锁定。
我不知道我头顶上有什么合适的图案
1-为每个请求建立新连接的成本是多少?
2-库作者是否发布了任何指南来限制连接的数量?如果没有,那么最好不要在设计中引入锁或多线程。
这是我在进入多线程场景之前问自己的第一个问题。
同样,在你上面解释的情况下,你永远无法确定下一个请求何时到来,所以如果你使用类的单个对象,那么使用双重检查锁定技术将会很有帮助,正如维基百科
中所解释的那样Double Check Locking