Java多线程相关知识【17】--设计模式--上下文模式(Context)

本文详细介绍了Java多线程中上下文模式的应用,通过封装数据来保持线程间状态的连续性。文章从问题引入,讲解了如何通过简单的数据封装和利用ThreadLocal优化解决多参数上下文操作,提升代码的可维护性,并提供了具体的实操代码示例。
摘要由CSDN通过智能技术生成


菜鸟的一个学习笔记,欢迎大神 批评指正

Java多线程相关知识【17】–设计模式–上下文模式(Context)

1. 问题的引入

线程在操作数据时,有很多时候要继续上一次操作的数据后才能进行本次的处理,为了解决这种办法,我们需要将一定的数据进行封装,在进行下次的处理,这既是上下文的处理模式。

2. 解决方法

1. 解决理论

​ 将相应的数据进行封装,然后进行相关的操作即可实现代码的利于维护性。

2. 实操代码

上下文数据保存
/**
 * 上下文数据保存
 */
public class Context {
   

    private String first;
    private String second;

    public String getFirst() {
   
        return first;
    }

    public void setFirst(String first) {
   
        this.first = first;
    }

    public String getSecond() {
   
        return second;
    }

    public void setSecond(String second) {
   
        this.second = second;
    }
}
上文
/**
 * 第一次查询
 */
public class FirstAction {
   
    private final String s="The first task:";

    public String exude(String key)  {
   
        try {
   
            Thread.sleep(100);
        } catch (InterruptedException e) {
   
            e.printStackTrace();
        }
        return s+key;
    }
}
下文
/**
 * 连续查询
 */
public class SecondAction {
   
    private final String s="The second task:(";

    /**
     * 使用上一次结果查询本次内容
     * @param firstResult 上一次的结果
     * @return 查询的结果
     */
    public String exude(String firstResult){
   
        try {
   
            Thread.sleep(1000);
        } catch (InterruptedException e) {
   
            e.printStackTrace();
        }
        return s+fir
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值