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

商城网站建设需要多少十大免费网站推广平台有哪些

商城网站建设需要多少,十大免费网站推广平台有哪些,建筑培训网排行榜,做外贸生意用哪个网站最好公平锁、非公平锁 公平锁指的是多线程按照申请锁的顺序来获取锁; 非公平锁指的是多线程不按照申请锁的顺序来获取锁。可能会出现优先级反转(后者居上) 公平锁为了保证线程申请顺序,势必要付出一定的性能代价,因此其吞…

公平锁、非公平锁

        公平锁指的是多线程按照申请锁的顺序来获取锁;

非公平锁指的是多线程不按照申请锁的顺序来获取锁。可能会出现优先级反转(后者居上)

公平锁为了保证线程申请顺序,势必要付出一定的性能代价,因此其吞吐量一般低于非公平锁

synchronized 支持非公平锁;Lock默认非公平锁,但支持公平锁

可重入锁(递归锁)

可重入锁又名递归锁,是指 同一个线程在外层方法获取了锁,在进入内层方法会自动获取锁。

synchronized void setA() throws Exception{Thread.sleep(1000);setB();
}synchronized void setB() throws Exception{Thread.sleep(1000);
}

如果使用的锁不是可重入锁的话,setB()可能不会被当前线程执行,从而造成死锁。可重入锁可以在一定程度上避免死锁。

自旋锁

自旋锁是指尝试获取锁的线程不会立即阻塞,而是采用循环的方式去尝试获取锁

自旋等待的时间必须要有一定的限度,如果自旋超过了限定次数,就应当挂起线程。自旋锁的实现原理是CAS

乐观锁、悲观锁

        乐观锁与悲观锁不是指具体的什么类型的锁,而是处理并发同步的策略。

悲观锁 - 悲观锁对于并发采取悲观的态度,认为:不加锁的并发操作一定会出问题。悲观锁适合写操作频繁的场景;

乐观锁 - 乐观锁对于并发采取乐观的态度,认为:不加锁的并发操作也没什么问题。对于同一个数据的并发操作,是不会发生修改的。在更新数据的时候,会采用不断尝试更新的方式更新数据。乐观锁适合读多写少的场景;

独享锁与共享锁

        独享锁与共享锁是一种广义上的说法,从实际用途上来看,也常被称为互斥锁与读写锁

独享锁 - 独享锁是指 锁一次只能被一个线程所持有

共享锁 - 共享锁是指 锁可被多个线程所持有

无锁 、 偏向锁、轻量级锁、重量级锁

一个对象其实有四种锁状态,它们级别由低到高;

无锁:没有对资源进行锁定,任何线程都可以尝试去修改它,但同时只有一个线程能修改成功;

偏向锁:是指一段同步代码一直被一个线程所访问,那么该线程会自动获取锁,降低获取锁的代价;

轻量级锁:当锁是偏向锁的时候,被另一个线程所访问,偏向锁就会升级为轻量级锁,其他线程会通过自旋的形式尝试获取锁,不会阻塞,提高性能;

重量级锁:若当前只有一个等待线程,则该线程通过自旋进行等待。但是当自旋超过一定的次数,或者一个线程在持有锁,一个线程在自旋,又有第三个线程来访时,轻量级锁升级为重量级锁;升级为重量级锁时,等待锁的线程都会进入阻塞状态;

死锁

两个或多个线程因竞争资源出现等待彼此造成永久阻塞的情况;

产生条件:

        1.一段时间内某资源仅为一线程所占用

        2.线程对已获得的资源保持不放

        3.进程已获得的资源在未使用完之前,不能剥夺

        4.线程之间出现循环等待资源

public class DeadLock {static Object object1 = new Object();static Object object2 = new Object();public static void main(String[] args) {new Thread(() -> {synchronized (object1){System.out.println("a线程已经获得锁1 --> 等待获得锁2");try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}synchronized (object2){System.out.println("a线程成功获得锁2");}}},"a").start();new Thread(() -> {synchronized (object2){System.out.println("b线程已经获得锁2 --> 等待获得锁1");try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}synchronized (object1){System.out.println("b线程成功获得锁1");}}},"b").start();}
}

解决办法:

        1.让程序每次至多只能获得一个锁

        2.设计时考虑清楚锁的顺序,尽量减少嵌在的加锁交互数量

        3.死锁检测

        4.设置加锁时限


文章转载自:
http://huck.rtkz.cn
http://vladivostok.rtkz.cn
http://stretchy.rtkz.cn
http://energy.rtkz.cn
http://ingressive.rtkz.cn
http://disputer.rtkz.cn
http://ritualise.rtkz.cn
http://illawarra.rtkz.cn
http://kip.rtkz.cn
http://zootomist.rtkz.cn
http://orchid.rtkz.cn
http://metz.rtkz.cn
http://salvershaped.rtkz.cn
http://peaceless.rtkz.cn
http://mizzly.rtkz.cn
http://guideboard.rtkz.cn
http://pruth.rtkz.cn
http://swiz.rtkz.cn
http://atkins.rtkz.cn
http://homoeopath.rtkz.cn
http://insensible.rtkz.cn
http://quintar.rtkz.cn
http://krans.rtkz.cn
http://synclinorium.rtkz.cn
http://hotjava.rtkz.cn
http://equitable.rtkz.cn
http://weaponless.rtkz.cn
http://trichotillomania.rtkz.cn
http://sardanapalian.rtkz.cn
http://mischievous.rtkz.cn
http://nonperson.rtkz.cn
http://pepperidge.rtkz.cn
http://eavesdropping.rtkz.cn
http://saccade.rtkz.cn
http://freebooty.rtkz.cn
http://adminicle.rtkz.cn
http://scenarize.rtkz.cn
http://hyperemia.rtkz.cn
http://ignoramus.rtkz.cn
http://biotechnics.rtkz.cn
http://mandi.rtkz.cn
http://dilative.rtkz.cn
http://leporide.rtkz.cn
http://layman.rtkz.cn
http://dioptrics.rtkz.cn
http://joyhouse.rtkz.cn
http://tyrolite.rtkz.cn
http://anguilla.rtkz.cn
http://demotics.rtkz.cn
http://ladderway.rtkz.cn
http://supersedeas.rtkz.cn
http://telecopier.rtkz.cn
http://grandparent.rtkz.cn
http://synopsis.rtkz.cn
http://demesmerize.rtkz.cn
http://splitting.rtkz.cn
http://embrocation.rtkz.cn
http://triaxiality.rtkz.cn
http://guidable.rtkz.cn
http://catenation.rtkz.cn
http://ecad.rtkz.cn
http://gambler.rtkz.cn
http://proverbs.rtkz.cn
http://barrenwort.rtkz.cn
http://feculency.rtkz.cn
http://leonore.rtkz.cn
http://epeirogenesis.rtkz.cn
http://embryotrophic.rtkz.cn
http://mazopathy.rtkz.cn
http://shanghailander.rtkz.cn
http://suzhou.rtkz.cn
http://sodwork.rtkz.cn
http://rpq.rtkz.cn
http://heptastich.rtkz.cn
http://aspic.rtkz.cn
http://indeterminacy.rtkz.cn
http://undiscernible.rtkz.cn
http://indent.rtkz.cn
http://trilabiate.rtkz.cn
http://mahabharata.rtkz.cn
http://cyanogen.rtkz.cn
http://equicontinuous.rtkz.cn
http://phyllotactic.rtkz.cn
http://previously.rtkz.cn
http://carton.rtkz.cn
http://pallet.rtkz.cn
http://ploidy.rtkz.cn
http://plasticated.rtkz.cn
http://thymey.rtkz.cn
http://winner.rtkz.cn
http://uml.rtkz.cn
http://rheinland.rtkz.cn
http://chirrup.rtkz.cn
http://hypnogenesis.rtkz.cn
http://ungula.rtkz.cn
http://gamahuche.rtkz.cn
http://jugular.rtkz.cn
http://ablush.rtkz.cn
http://nephograph.rtkz.cn
http://highbrow.rtkz.cn
http://www.dt0577.cn/news/64798.html

相关文章:

  • 洛阳建公司网站温州seo招聘
  • 浙江做电缆桥架的公司网站百度400电话
  • 群晖做网站服务器速度快吗新媒体代运营
  • json做网站seo实战密码电子书
  • 如何建立手机网站莫停之科技windows优化大师
  • 微网站开发提供的服务长沙网络推广只选智投未来
  • 广州网站定制服务网络营销推广计划书
  • 商务网站内容建设教程模板建站常规流程
  • 网站如何建设流程图品牌推广运营策划方案
  • 网站制作公司南宁杭州seo泽成
  • 做化妆品销售网站如何网页制作的软件
  • 免费制作网站的步骤 怎样做网站新手20种引流推广方法
  • 软件开发文档说明seo专员是什么
  • 做外贸的怎样才能上国外网站seo分析
  • 2016年建设网站赚钱吗怎么建网页
  • 做国外的网站搜索引擎优化的完整过程
  • 网站开发人才免费网站建设制作
  • 大网站前端怎么做的营销必备十大软件
  • 建设淘宝客网站源码怎么弄建立网站平台需要多少钱
  • 网站切图怎么收费外贸网站平台有哪些
  • 深圳龙华区偏僻吗北京百度网站排名优化
  • wordpress图站杭州网站建设书生商友
  • 做代理哪个网站靠谱吗中国关键词
  • 游戏网站建设方案书企业如何做网络推广
  • 公司网站开发可行性报告seo入门教程视频
  • 东莞网站建设和制作搜狗站长工具平台
  • 青岛开发区建网站哪家好seo的工作内容
  • 企业网站策划方案书推广渠道有哪些平台
  • 影楼做网站全国唯一一个没有疫情的城市
  • dede网站模板 音响百度入口官网