当前位置: 首页 > news >正文

宝塔建站网址北京seo关键词优化外包

宝塔建站网址,北京seo关键词优化外包,达内ui设计培训费用,wordpress 首页登录系列文章目录 设计模式之避免共享的设计模式Immutability#xff08;不变性#xff09;模式 设计模式之并发特定场景下的设计模式 Two-phase Termination#xff08;两阶段终止#xff09;模式 设计模式之避免共享的设计模式Copy-on-Write模式 设计模式之避免共享的设计模…系列文章目录 设计模式之避免共享的设计模式Immutability不变性模式 设计模式之并发特定场景下的设计模式 Two-phase Termination两阶段终止模式 设计模式之避免共享的设计模式Copy-on-Write模式 设计模式之避免共享的设计模式 Thread-Specific Storage 模式 设计模式之多线程版本的if------Guarded Suspension模式 提示写完文章后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 系列文章目录简介与Guarded Suspension对比应用场景如何实现Balking模式样例 简介 Balking是“退缩不前”的意思。如果现在不适合执行这个操作或者没必要执行这个操作就停止处理直接返回。当流程的执行顺序依赖于某个共享变量的场景可以归纳为多线程if模式。Balking模式常用于一个线程发现另一个线程已经做了某一件相同的事那么本线程就无需再做了直接结束返回。Balking模式是一种多个线程执行同一操作时可以考虑的模式在线程2被阻塞或者执行其他操作时线程1同样可以完成操作而当线程2执行或者继续执行操作时因为操作已被执行过了而无需线程2再执行从而提升线程2的执行效率。 与Guarded Suspension对比 Balking模式和Guarded Suspension模式一样存在守护条件如果守护条件不满足则中断处理这与Guarded Suspension模式不同Guarded Suspension模式在守护条件不满足的时候会一直等待至可以运行。 应用场景 sychronized轻量级锁膨胀逻辑 初始状态某个线程尝试进入同步块时如果该同步块没有被其他线程占用并且此时不存在竞争Java 虚拟机会将该同步块的对象头 Mark Word 的部分记录下来作为该线程的锁记录Lock Record。竞争状态当其他线程也尝试进入同步块而此时存在竞争时轻量级锁会膨胀为重量级锁。重量级锁的实现通常会涉及到操作系统底层的线程阻塞和唤醒机制它会使得持有该锁的线程阻塞而不是自旋等待。膨胀过程膨胀的过程中Java 虚拟机会将原来记录在对象头的锁记录替换为指向重量级锁的指针这样当其他线程尝试获取该锁时就会转变为重量级锁的获取和释放逻辑。 DCL单例实现 DCLDouble-Checked Locking是一种单例模式的实现方式它通过双重检查即在加锁前后都检查是否已经创建实例来提高单例模式的性能。 服务组件的初始化 配置加载加载服务组件所需的配置信息例如数据库连接信息、缓存配置、日志配置等。这可以通过读取配置文件、从外部服务获取配置等方式来实现。资源分配和初始化根据配置信息初始化服务组件所需的资源例如数据库连接池、线程池、缓存对象等。确保资源能够正确分配和初始化并达到可用状态。依赖注入如果服务组件依赖于其他组件或对象需要进行依赖注入即将依赖的对象注入到服务组件中以便服务组件能够正常运行。启动服务启动服务组件使其处于可用状态可以接受外部请求并提供相应的功能。执行其他初始化逻辑根据具体需求执行其他必要的初始化逻辑例如预加载数据、初始化定时任务等。 如何实现Balking模式 锁机制 synchronized reentrantLockcas对于共享变量不要求原子性的场景可以使用volatile 样例 import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock;/*** author yang* version 1.0.0*/ public class BalkingExample {private boolean jobInProgress false;private final Lock lock new ReentrantLock();public void doJob() {if (lock.tryLock()) {try {if (jobInProgress) {System.out.println(工作已经在进行中返回...);return; // 另一个线程已经在执行该操作无需再执行}jobInProgress true;System.out.println(执行...);// 执行需要做的工作} finally {jobInProgress false; // 完成工作后将jobInProgress设置为falselock.unlock();}} else {System.out.println(另一个线程当前正在执行该作业, 返回...);}}public static void main(String[] args) {BalkingExample balkingExample new BalkingExample();// 创建多个线程调用doJob方法for (int i 0; i 5; i) {Thread thread new Thread(() - {balkingExample.doJob();});thread.start();}} }
http://www.hkea.cn/news/14504297/

相关文章:

  • 呼和浩特企业网站建设企业展厅设计公司豆河镇展厅设计公司笔中展览
  • 网站空间买什么的好在服务器网站上做跳转页面跳转页面
  • 网站开发赚钱吗 知乎wordpress pitch
  • 网站360优化备案的网站 能拿来做仿站吗
  • 沭阳做网站好的职业培训机构资质
  • 温州网站建设wzwmwl网站欣赏与创建网页
  • 网站开发的话术有没有免费的商城小程序
  • 山西网站建设找哪家wordpress会自动更新
  • 什么是网站开发公司怎样做网站搜索推广电话成都
  • 深圳企业建站设计公司微信小程序开发流程图
  • django可以做多大的网站哪家公司的网站做得好
  • 南京网站建设哪家专业wordpress添加商城
  • 青岛建站百度入口网址
  • 济南seo网站关键词排名wordpress分类别名获取文章
  • pc网站优势新东方在线网上课程
  • 优质网站建设价格舟山建站
  • 电商网站对比表格全球访问量top100网站
  • 河北省城乡规划建设局官方网站家禽养殖公司网站怎么做
  • 做电影网站的流程行业网站推广
  • 网站改版引导长春网站外包
  • 青岛哪家做网站的公司好高校校园网站建设
  • 云智网站建设公司前端开发线下培训班
  • 怎么seo网站排名如何做淘客发单网站
  • wordpress建站安全性discuz做商城网站
  • 装潢网站模板百度电商推广
  • 宁波建站推广技术公司湖北网站建设哪家好
  • 北海做网站公司网站建设的目的及定位功能
  • 网站建设改版邮箱网址大全号码大全
  • 上海网站网络科技有限公司网站制作中心
  • 网站建设柚子网络科技在哪里网络营销网站规划建设