异步编排和ThreadLocal
时间: 2023-10-12 10:06:33 浏览: 117
异步编排是指在复杂的处理流程中,使用一些异步处理的手段来提高效率和性能。在这种场景下,ThreadLocal可能会出现获取失败的问题。ThreadLocal主要是提供了保持对象的方法和避免参数传递的方便的对象访问方式,而不是用来解决对象共享访问问题。每个线程中都有一个自己的ThreadLocalMap类对象,可以将线程自己的对象保持到其中,各管各的,线程可以正确地访问到自己的对象。通过将一个共用的ThreadLocal静态实例作为key,将不同对象的引用保存到不同线程的ThreadLocalMap中,可以在线程执行的各处通过这个静态ThreadLocal实例的get()方法取得自己线程保存的那个对象,避免了将这个对象作为参数传递的麻烦。异步编排和ThreadLocal在处理复杂的流程时可以结合使用,通过ThreadLocal来保存和访问各个线程的对象,从而实现异步处理的目的。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [ThreadLocal跨线程问题](https://download.csdn.net/download/weixin_38669881/13750353)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [ThreadLocal和同步异步的解释](https://blog.csdn.net/doom20082004/article/details/53612339)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [异步 多线程 线程池 异步编排 ThreadLocal的使用](https://blog.csdn.net/weixin_45552441/article/details/125605532)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文