线程池中的 submit.get() 理解
1,当一个客户端访问ws服务时,开启一个线程A 处理请求,
2,而后在线程A中 再开启一个线程B 处理业务方法
Future<?> submit = threadPoolTaskExecutor.submit(monitorRunnable);
submit.get() 阻塞 A线程
3,submit.get() 阻塞 A线程,等待B线程返回处理结果
4,将B线程结果返回给调用方,此时在A线程中可以获取到 B 的返回结果 和一些 变量信息
1,当一个客户端访问ws服务时,开启一个线程A 处理请求,
2,而后在线程A中 再开启一个线程B处理业务方法
threadPoolTaskExecutor.submit(monitorRunnable);
3,此时在A线程中没有获取调用.get()方法 阻塞A
4,A现场在调用B后直接返回,不等待B的处理结果,此时也获取不到B线程中的一些变量数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统