老师,请教个多次请求的问题
来源:8-1 进程和线程的区别
weixin_慕后端0303911
2023-03-11
同一时刻多次请求同一个app的接口,这是同一个进程内的不同线程处理的吗?若这个app算是一个进程,那么内部有个可造成死锁的代码,是不是与死锁的定义冲突呢,好多网络解释死锁定义都是多个进程请求资源冲突造成死锁,然后举例却用不同线程(感觉像是同一个进程内的),感觉有些糊涂
写回答
1回答
-
翔仔
2023-03-13
同学好,同一个接口 多个请求进来,如果你处理请求服务是水平部署的,即有多个容器,且请求是均衡打在这些容器上的,如果请求很多,那单个容器也就是单个服务实例必然会被并发请求,一个接口可以理解为一个服务进程提供的一个处理函数入口,所以如果你的接口里存在共享变量,且是通过synchronized控制访问顺序的,就会有锁的问题。如果你有 a b 两个变量,需要获取a和b才能执行,那么处理不当就会有请求a获取了锁a,请求b获取了锁b,就会陷入课程说的死锁。
022023-03-15
相似问题