本文介绍: 值得一提的是我们这个demo没有文件,也没有参数,所以撸流程还是很容易的,如果有参数还要注意是如何解析参数的,如果用@RequestParam注解的话,直接通过反射可以获取到,Spring也提供了处理这个注解解析器,如果不加注解,会默认使用名称绑定底层asm框架读取字节码来获取参数名称,所以编码记得用@RequestParam声明参数,之后会放进一个缓存数组中,在。我们知道,在IOC容器加载的同时,初始化registry这个HashMap,这个HashMap存放请求路径对应方法

上一篇《【Spring6源码・MVC】初始化registry,完成url和controller的映射关系》我们知道,在IOC容器加载的同时,初始化registry这个HashMap,这个HashMap存放请求路径对应方法。当我们请求进来,会通过这个registry获取对应方法

在SpringBoot项目启动的时候,会加载一个线程

在这里插入图片描述
步入run方法

在这里插入图片描述
步入run方法

当前这个类是Worker:Class Worker 主要维护运行任务线程中断控制状态,以及其他次要簿记。此类适时地扩展了 AbstractQueuedSyncer,以简化获取和释放围绕每个任务执行的锁。这可以防止旨在唤醒等待任务工作线程而不是中断正在运行任务中断我们实现一个简单的非重入互斥锁,而不是使用 ReentrantLock,因为我们不希望工作线程任务在调用控制方法(如 setCorePoolSize)时能够重新获取锁。此外,为了在线程实际开始运行任务之前抑制中断我们将锁定状态初始化为负值,并在启动清除它(在 runWorker 中)。

这个run方法主要是启动运行循环,以此从队列取出task执行

原文地址:https://blog.csdn.net/CSDN_SAVIOR/article/details/128969268

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_21256.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注