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

海南那个网站可以做车年检北京app开发制作

海南那个网站可以做车年检,北京app开发制作,WordPress鼠标悬停效果,seo是哪里AQS (AbstractQueuedSynchronizer) 他的实现类诸如: CountDownLatch、ThreadLocalPool和ReentrantLock 在这些类中,AQS都是以内部类的形式存在的 AQS使用了模板方法设计模式 例子: 做蛋糕分为3个步骤,定一个抽象类,重写3个方法,做模型、烘焙和涂抹原料,然后在另外1个方法做蛋糕…

AQS (AbstractQueuedSynchronizer)
他的实现类诸如:
CountDownLatchThreadLocalPoolReentrantLock
在这些类中,AQS都是以内部类的形式存在的

AQS使用了模板方法设计模式
例子:
做蛋糕分为3个步骤,定一个抽象类,重写3个方法,做模型、烘焙和涂抹原料,然后在另外1个方法做蛋糕中,将这3个方法步骤依次放入;
然后具体的实现类继承自上面抽象类,比如做奶油蛋糕有奶油蛋糕的制作流程,做芝士蛋糕有芝士蛋糕的制作流程等等.

如何自己实现一个锁?
重写一个类MyLock实现Lock,然后重写Lock类中的lockunLock方法;然后重写1内部类MyAQS继承自AQS,然后重写AQS中的tryAcquire方法和tryRelease方法,这两个方法其实就是要更改AQSstate的状态:
AQSstate的状态改为1,即为获得锁(CAS实现,compareAndSetState(1, acquires)),同时调用setExclusiveOwnerThread(Thread.currentThread),设置当前线程获得锁;
AQSstate的状态改为改为0,即为释放锁,同时调用setExclusiveOwnerThread(null),当前线程释放锁;
最后在自定义的MyLock中的lockunLock方法中分别调用MyAQS.tryAcquire方法和MyAQS.tryRelease方法,即完成了一个自定义的Lock类.

AQS基本思想CLH队列锁
双链表实现,链表中每一个结点不停的去自旋(正常情况有次数限制,一般是2次,然后进入阻塞状态),查看前一个结点是否已经使用完锁并释放,前一个结点释放锁的同时当前结点的myPrednull,同时将当前结点的locked状态改为false;

了解ReentrantLock的实现

  1. 锁的可重入
    • 在递归或者是同步方法中包含了同步方法,就可能会出现锁的可重入问题,可以改造我们锁的state状态,如果发现是同一个线程在获取锁,state++;释放锁的时候state--
  2. 公平锁和非公平锁
    • 公平锁与非公平锁的区别就是这1行代码hasQueuedPredecessors(),公平锁会检测是否有等待队列,有等待队列则将新插入的线程添加到链表尾部;非公平锁则会与当前链表竞争锁

JMM (Java Memory Model 内存模型)

什么是工作内存和主内存?
主内存有点类似于JVM中的,而工作内存则类似于JVM中的.
正常情况定一个变量count,这个变量count是放在主内存的,而多个线程在对这个变量进行运算比如加1,这个操作过程是放在工作内存中完成的,每个工作内存都拥有一个这个主内存变量count的副本countCopy,并且每个子线程之间这个变量的副本是相互之间不可见的,当每个线程在运算完成后,会将这个变量副本countCopy赋值给主内存中的变量count(这里就是volatile可见性的作用,让别的子线程从主内存中拿到的这个变量值是最新的,而不是最初没有子线程操作过的那个旧的变量值).

JMM导致的并发安全问题?
count = count + 1;真的就只有一条语句吗?

  1. 可见性
    • 不同的线程之间做同一个变量的更改,可能存在可见性问题,不同线程更改变量副本后,主内存中变量的值可能不正确,可以采用加volitile(保证可见性)和(同时保证可见性和原子性)解决这个问题
  2. 原子性
    • 不同线程之间在更改同一个变量时,比如变量累加i++这个过程转换成字节码时,存在多行代码,在多行代码在执行的过程中,可能被别的线程打断,从而导致了别的线程处理完成后更改了主内存中变量的值,而被打断的线程继续执行字节码后面的逻辑,而没有从主内存中重新去取变量的值,导致了被打断的线程执行完成后,去更改主内存中变量的值,此时,这个是一个错误的值.
http://www.yayakq.cn/news/484112/

相关文章:

  • 怎么让百度收录自己的网站怎样做移动端网站
  • 网站建设价格需要多少钱口碑营销案例简短
  • 上海的网站设计公司价格礼品册兑换 网站建设
  • 网站内容如何管理网站锚文本的内链建设
  • 特色网站建设上海好牛网站建设
  • 图片做网站做土特产网站什么名字最好
  • 360 的网站链接怎么做天猫怎么开店铺
  • 开发一个网站模版版面设计图大全 模板
  • 网站建设 有哪些费用商标 做网站 是几类
  • 国际教育机构网站建设开发方案中国建设银行客户端下载官方网站
  • wordpress首页标题代码百度seo如何优化
  • 福州网站建设html5开发网站
  • 工信部的网站备案信息网站建设xml下载
  • 网站建设哪里公司好农村小伙创业做网站
  • 购买一个网站需要多少钱什么是seo站内优化
  • 北京app开发网站建设如何做品牌宣传与推广
  • 网站开发涉及到缓存吗网站开发开始阶段的主要任务包括( )
  • 全国网站直播平台被摧毁潜江资讯网电脑版
  • 郑州专业网站设计公司地址报告范文大全
  • 网站建设的主要工作网站建设与管理实训报告
  • js特效网站模板如何在百度做网站推广
  • 白云区同和网站建设为什么需要响应式网站
  • 素米高端品牌网站建设免费做网站推广的软件
  • 专业建站推荐如何删除首页wordpress
  • 关于做网站建设公司你应该知道的wordpress 缩略图判断
  • 网站设计英文翻译上海游玩攻略必去的地方
  • 网站风格对比照片书那个网站做的好
  • 深圳网站设计九曲网站建设wordpress插件删除
  • 张家港网站开发培训广告代理搜狗网站收录提交入口
  • 做ppt的兼职网站有哪些新闻自动采集网站源码