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

visual studio 网站开发做pc端网站方案

visual studio 网站开发,做pc端网站方案,WordPress图片直链插件,产品网络推广2019独角兽企业重金招聘Python工程师标准 阅读目录 一、尽量不要锁住方法 二、缩小同步代码块#xff0c;只锁数据 三、锁中尽量不要再包含锁 四、将锁私有化#xff0c;在内部管理锁 五、进行适当的锁分解 正文 并发环境下进行编程时#xff0c;需要使用锁机… 2019独角兽企业重金招聘Python工程师标准 阅读目录 一、尽量不要锁住方法 二、缩小同步代码块只锁数据 三、锁中尽量不要再包含锁 四、将锁私有化在内部管理锁 五、进行适当的锁分解 正文 并发环境下进行编程时需要使用锁机制来同步多线程间的操作保证共享资源的互斥访问。加锁会带来性能上的损坏似乎是众所周知的事情。然而加锁本身不会带来多少的性能消耗性能主要是在线程的获取锁的过程。【Redis实现的分布式锁和分布式限流】 如果只有一个线程竞争锁此时并不存在多线程竞争的情况那么JVM会进行优化那么这时加锁带来的性能消耗基本可以忽略。因此规范加锁的操作优化锁的使用方法避免不必要的线程竞争不仅可以提高程序性能也能避免不规范加锁可能造成线程死锁问题提高程序健壮性。下面阐述几种锁优化的思路。 一、尽量不要锁住方法 在普通成员函数上加锁时线程获得的是该方法所在对象的对象锁。此时整个对象都会被锁住。这也意味着如果这个对象提供的多个同步方法是针对不同业务的那么由于整个对象被锁住一个业务业务在处理时其他不相关的业务线程也必须wait。下面的例子展示了这种情况   运行程序可以看到在线程bussa 执行的过程中bussb是不能够进入函数 busiB()的因为此时lockMethod 的对象锁被线程bussa获取了。【Git内部原理之Git对象】 二、缩小同步代码块只锁数据 有时候为了编程方便有些人会synchnoized很大的一块代码如果这个代码块中的某些操作与共享资源并不相关那么应当把它们放到同步块外部避免长时间的持有锁造成其他线程一直处于等待状态。尤其是一些循环操作、同步I/O操作。 不止是在代码的行数范围上缩小同步块在执行逻辑上也应该缩小同步块例如多加一些条件判断符合条件的再进行同步而不是同步之后再进行条件判断尽量减少不必要的进入同步块的逻辑。 三、锁中尽量不要再包含锁 这种情况经常发生线程在得到了A锁之后在同步方法块中调用了另外对象的同步方法获得了第二个锁这样可能导致一个调用堆栈中有多把锁的请求多线程情况下可能会出现很复杂、难以分析的异常情况导致死锁的发生。下面的代码显示了这种情况【Java 编程中关于异常处理的 10 个最佳实践】 四、将锁私有化在内部管理锁 把锁作为一个私有的对象外部不能拿到这个对象更安全一些。对象可能被其他线程直接进行加锁操作此时线程便持有了该对象的对象锁例如下面这种情况 这种使用方式下对象a的对象锁被外部所持有让这把锁在外部多个地方被使用是比较危险的对代码的逻辑流程阅读也造成困扰。一种更好的方式是在类的内部自己管理锁外部需要同步方案时也是通过接口方式来提供同步操作 五、进行适当的锁分解 考虑下面这段程序 在这个例子中join方法只使用一个同步锁来获取tables中的List对象然后判断玩家数量是不是小于9如果是就调增加一个玩家。当有成千上万个List存在tables中时对tables锁的竞争将非常激烈。面【试中常问的List去重问题你都答对了吗】 在这里我们可以考虑进行锁的分解快速取出数据之后对List对象进行加锁让其他线程可快速竞争获得tables对象锁 扩展阅读 七点建议助您写出优雅的Java代码 实战经验分析如何优雅地处理 Java 异常 SpringBoot (六) 如何优雅的使用 mybatis 程序员面试过程中该怎么判断该公司好坏 如何在面试中介绍自己的项目经验 【面试现场】如何在10亿数中找出前1000大的数 来源https://www.cnblogs.com/QG-whz/p/8351298.html 转载于:https://my.oschina.net/javafirst/blog/3043799
http://wiki.neutronadmin.com/news/206652/

相关文章:

  • 九星市场做网站视频网站免费送会员怎么做
  • 云建站微网站创业初期要建立公司的网站吗
  • 优衣库网站建设深圳app定制开发报价单
  • 广州市医院网站建设哪家好企业主页的特点包括
  • 可以网上做单的网站烟台网站排名优化公司
  • 高端做网站哪家好flash+xml网站模板
  • 网站有冒号怎么打开wordpress 漂亮主题
  • 网站代付系统怎么做58同城做网站多少钱
  • 河北恒山建设集团网站深圳公司网站设计公司
  • 汕头百度网站推广wordpress 自定义逻辑
  • 网站建站中关键字搜索怎么弄西安十大网站制作公司
  • 济南 建网站wordpress 花瓣
  • 哈尔滨企业网站校园服装网站建设演示文稿
  • 中国设计网站推荐卡盟代网刷24小时自助下单
  • 做网站设计电脑需要什么配置微信平台制作网站开发
  • 怎么做网站淘宝转换工具wordpress 页面下载文件
  • 石家庄做手机网站建设clh网站建设公司
  • 花生壳盒子做网站服务器浙江省建设网站首页
  • 网站建设技术交流平面设计接单群
  • 东莞网站推广优化搜索推广网站域名ip地址查询
  • [ 1500元做网站_验收满意再付款! ]_沛县网络公司php 显示不同网站内容
  • 设计素材网站合集网站专业是学什么
  • 建设网站一定需要云服务器么wordpress盲注
  • 炫酷的网站开发宝安网页设计
  • 申请专利的网站网站速度测速
  • 济南 网站定制手机搭建电脑做的网站
  • 深鑫辉网站建设杭州清风室内设计培训学校
  • 重庆网站制作一般多少钱ih5 做视频网站
  • 专业建设外贸网站制作购物网站排名 2019
  • 学院网站建设需求分析目录深圳福田公司