老师,请教个多次请求的问题

来源:8-1 进程和线程的区别

weixin_慕后端0303911

2023-03-11

同一时刻多次请求同一个app的接口,这是同一个进程内的不同线程处理的吗?若这个app算是一个进程,那么内部有个可造成死锁的代码,是不是与死锁的定义冲突呢,好多网络解释死锁定义都是多个进程请求资源冲突造成死锁,然后举例却用不同线程(感觉像是同一个进程内的),感觉有些糊涂

写回答

1回答

翔仔

2023-03-13

同学好,同一个接口 多个请求进来,如果你处理请求服务是水平部署的,即有多个容器,且请求是均衡打在这些容器上的,如果请求很多,那单个容器也就是单个服务实例必然会被并发请求,一个接口可以理解为一个服务进程提供的一个处理函数入口,所以如果你的接口里存在共享变量,且是通过synchronized控制访问顺序的,就会有锁的问题。如果你有 a b 两个变量,需要获取a和b才能执行,那么处理不当就会有请求a获取了锁a,请求b获取了锁b,就会陷入课程说的死锁。

0
2
翔仔
回复
weixin_慕后端0303911
同学好,你可以理解一个服务就是一个进程,你请求到这个服务也是这个服务的同一个进程来处理,每个进程服务会有多个线程处理
2023-03-15
共2条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程