采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
同一时刻多次请求同一个app的接口,这是同一个进程内的不同线程处理的吗?若这个app算是一个进程,那么内部有个可造成死锁的代码,是不是与死锁的定义冲突呢,好多网络解释死锁定义都是多个进程请求资源冲突造成死锁,然后举例却用不同线程(感觉像是同一个进程内的),感觉有些糊涂
同学好,同一个接口 多个请求进来,如果你处理请求服务是水平部署的,即有多个容器,且请求是均衡打在这些容器上的,如果请求很多,那单个容器也就是单个服务实例必然会被并发请求,一个接口可以理解为一个服务进程提供的一个处理函数入口,所以如果你的接口里存在共享变量,且是通过synchronized控制访问顺序的,就会有锁的问题。如果你有 a b 两个变量,需要获取a和b才能执行,那么处理不当就会有请求a获取了锁a,请求b获取了锁b,就会陷入课程说的死锁。
老师,我想知道,每个请求到底是线程还是进程,有说线程的,比如每次请求tomcat就会从线程池中拿出一个空闲线程执行请求,比如您说的ab例子,既然是2个线程之间出现的死锁,为何会出现多个进程资源冲突导致死锁的定义呢?定义是错误的吗?还是说每次请求都是一个新进程呢,且请求的进程与应用运行的进程有什么样的关系呢?
同学好,你可以理解一个服务就是一个进程,你请求到这个服务也是这个服务的同一个进程来处理,每个进程服务会有多个线程处理
登录后可查看更多问答,登录/注册
招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航
1.9k 27
2.8k 22
1.3k 15
1.5k 14
1.4k 14
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号