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

可以在手机上编程的软件seo手机优化软件哪个好用

可以在手机上编程的软件,seo手机优化软件哪个好用,0基础学网站建设,襄阳今天刚刚发生的新闻开题#xff1a;如何自己生成一把独占锁#xff1f; 1. 管程 — Java同步的设计思想 管程#xff1a;指的是管理共享变量以及对共享变量的操作过程#xff0c;让他们支持并发。 互斥#xff1a;同一时刻只允许一个线程访问共享资源#xff1b; 同步#xff1a;线程之间…         开题如何自己生成一把独占锁 1. 管程 — Java同步的设计思想 管程指的是管理共享变量以及对共享变量的操作过程让他们支持并发。         互斥同一时刻只允许一个线程访问共享资源         同步线程之间如何通信、协作。 MESA模型  在管程的发展史上先后出现过三种不同的管程模型分别是Hasen模型、Hoare模型和MESA模型。现在正在广泛使用的是 MESA模型 。                  管程中引入了条件变量的概念而且每个条件变量都对应有一个等待队列。条件变量和等待队列的作用是解决线程之间的同步问题。         Java实现管程有两种方式                 1.一种基于Object的Monitor的机制用于synchronized内置锁实现                 2.抽象队列同步器AQS用于JUC包下的Lock锁机制的实现 2. AQS原理分析  2.1 什么是AQS java.util.concurrent包中的大多数同步器实现都是围绕着共同的基础行为比如等待队列、条件队列、独占获取、共享获取等而这些行为的抽象就是基于AbstractQueuedSynchronizer简称AQS实现的AQS是一个抽象同步框架可以用来实现一个依赖状态的同步器。其实就是类似于管程的思想         JDK中提供的大多数的同步器如Lock, Latch, Barrier等都是基于AQS框架来实现的                 1. 一般是通过一个内部类Sync继承 AQS                 2. 将同步器所有调用都映射到Sync对应的方法            AQS具备的特性                1. 阻塞等待队列                2.  共享/独占                3.  公平/非公平                4.  可重入                5.  允许中断 2.2 AQS核心结构  AQS内部维护属性volatile int statestate表示资源的可用状态 State三种访问方式         getState()         setState()         compareAndSetState () 定义了两种资源访问方式 Exclusive-独占只有一个线程能执行如ReentrantLock         Share-共享多个线程可以同时执行如Semaphore/CountDownLatch AQS实现时主要实现以下几种方法          isHeldExclusively() 该线程是否正在独占资源。只有用到condition才需要去实现它。 tryAcquire(int) 独占方式。 尝试获取资源成功则返回true失败则返回false。 tryRelease(int) 独占方式。 尝试释放资源成功则返回true失败则返回false。 tryAcquireShared(int) 共享方式。 尝试获取资源。负数表示失败0表示成功但没有剩余可用资源正数表示成功且有剩余资源。 tryReleaseShared(int) 共享方式。 尝试释放资源如果释放后允许唤醒后续等待结点返回true否则返回 false。   2.3 AQS定义两种队列   同步等待队列 主要用于维护获取锁失败时入队的线程。         条件等待队列 调用await()的时候会释放锁然后线程会加入到条件队列调用signal()唤醒的时候会把条件列中的线程节点移动到同步队列中等待再次获得锁。          AQS 定义了5个队列中节点状态         1. 值为0初始化状态表示当前节点在sync队列中等待着获取锁。         2. CANCELLED值为1表示当前的线程被取消         3. SIGNAL值为-1表示当前节点的后继节点包含的线程需要运行也就是unpark         4. CONDITION值为-2表示当前节点在等待condition也就是在condition队列中         5. PROPAGATE值为-3表示当前场景下后续的acquireShared能够得以执行 同步等待队列           AQS当中的同步等待队列也称CLH队列CLH队列是Craig、Landin、Hagersten三人发明的一种基于双向链表数据结构的队列是FIFO先进先出线程等待队列Java中的CLH队列是原CLH队列的一个变种,线程由原自旋机制改为阻塞机制.         1、当前线程如果获取同步状态失败时AQS则会将当前线程已经等待状态等信息构造成一个节点Node并将其加入到CLH同步队列同时会阻塞当前线程         2、当同步状态释放时会把首节点唤醒公平锁使其再次尝试获取同步状态。         3、通过signal或signalAll将条件队列中的节点转移到同步队列。 由条件队列转化为同步队列 条件等待队列 AQS中条件队列是使用单向列表保存的用nextWaiter来连接:       1. 调用await方法阻塞线程       2. 当前线程存在于同步队列的头结点调用await方法进行阻塞 从同步队列转化到条件队列 3. ReentrantLock源码分析 ReentrantLock是一种基于AQS框架的应用实现 是JDK中的一种线程并发访问的同步手段它的功能类似于synchronized 是一种互斥锁可以保证线程安全 。 ReentrantLock基本使用方式 源码阅读过程中要关注的问题                 1.公平和非公平锁可重入锁是如何实现的                 2.设计的精髓并发场景下入队和出队操作是如何设计的                         线程竞争锁失败入队阻塞逻辑实现                         释放锁的线程唤醒阻塞线程出队竞争锁的逻辑实现
http://www.dnsts.com.cn/news/173578.html

相关文章:

  • qq代挂网站建设上国外网站的host
  • 淘宝做的网站会不会过期网站推广方法ppt
  • 网站推广计划书模板网站数据库模板下载
  • 中山网站建设如何做企业网站服务
  • 网站已备案 还不能访问福建网站建设开发
  • 充值网站源码php自己用钢管做里闪弹枪视频和照网站
  • 织梦怎么设置网站首页阿里云域名出售
  • 杭州做网站五企业免费建站网站
  • 小说网站的网编具体做哪些工作wordpress树莓派
  • 学网站开发顺序简单flash个人网站
  • 赵公口网站建设北京网站设计wordpress cdn ip
  • 闭站保护对网站影响外贸招聘
  • 企业网站源码推荐成都微信网站制作
  • 网站建设公司的选择网站如何做淘宝推广
  • 外贸网站运营推广辽宁市场网站建设销售
  • 电脑本地网站建设缙云做网站
  • 旅游商城网站模板济南网站推广优化外包
  • 成都营销型网站图片制作视频软件
  • ps做网站尺寸昆山市有没有做网站设计的
  • 吴中区建设局网站网站背景动图怎么做
  • 跨境电商自己做网站引流网站开发后端怎么开发
  • 360网站怎么做ppt营销案例100例小故事及感悟
  • 手机应用下载网站源码卧龙区微网站建设
  • 申请网站建设费用的请示凡科轻站小程序制作平台
  • 个人网站备案需要什么小游戏大全网页版
  • wordpress主题响应式wordpress 百度seo插件
  • 新郑建设局网站中国网站虚拟主机 排名
  • 新闻资讯网站模板网站后台怎么给图片做水印
  • 网站有哪些推荐找别人网站开发没给我源代码
  • 安徽 网站建设中山市网站开发公司