zoukankan      html  css  js  c++  java
  • 并发编程设计模式之保险箱设计

    多线程设计上下文模式

    上下文模式使用threadlocal进行设计

    threadlocal在线程间是隔离的,不共享,用于存储线程的变量

    上下文就是在程序的执行过程中,上下文主要就是想传人传出的只都存进去,从而用户就可以忽略程序内部需要传输的值

     上下文的多线程设计,可以使用保险箱设计:

     这是执行查询和连个值得操作,需要每个线程都有自己的一份上下文用于串联这个查询

     这是下一步串联id的query

     这是第二个查询

     这是上下文的设计:使用了holder设计单例模式,因为context存放到threadlocal中,所以每开启一个线程,就有自己的一份context,所以就避免了context的线程安全,

    单例模式保证了每个线程只有一份context

    总结:以上使用context串联程序间的数据传输,多线程的情况下,使用threadlocal保证了线程安全,使用单例模式保证了每个线程只创建一份context

  • 相关阅读:
    leetcode
    Vim i和a差别
    HDU-4643-GSM(DFS)
    使用可编程电源自动化输出电源
    如何使用全局变量
    异步和同步
    启动界面
    鼠标右键弹出菜单
    Qt+excel
    Qt+数据库
  • 原文地址:https://www.cnblogs.com/zj-xu/p/11929291.html
Copyright © 2011-2022 走看看