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

wordpress调用主站的文章wordpress自动安装

wordpress调用主站的文章,wordpress自动安装,中国知名网站建设公司,营销型 网站开发项目场景#xff1a; 并发的应用场景#xff0c;在开发过程会经常遇到。 例如#xff1a;服务应用启动后#xff0c;需要简单统计接口的总访问量#xff1b;实时更新订单状态#xff0c;成交总额。 问题描述#xff1a; 比如统计接口访问次数#xff0c;如下的实现 并发的应用场景在开发过程会经常遇到。 例如服务应用启动后需要简单统计接口的总访问量实时更新订单状态成交总额。 问题描述 比如统计接口访问次数如下的实现在并发访问下统计是不准确的 。 private int viewCount 0;private void addViewCount(){viewCount;}比如A、B两个线程同时访问各自从JVM主存中加载变量viewCount到线程内存里viewCount的值都是0各自1更新会JVM主存的也是1。实际A、B执行完毕后JVM的值应该是2才对。 解决方案 并发问题解决实际有2种方式有锁、无锁。 有锁的就是关键字synchronized以及可重入锁ReentrantLock。 无锁的就是局部变量、不可变对象、CAS原子类、ThreadLocal共四种。 具体解决方案分析 一.无锁方式 1.局部变量 /*** 局部变量多线程更新count的时候各自在线程内存中创建i变量。*/public void localParam(){int count 0;/*本次处理业务统计*/count;System.out.println(count);}2.不可变对象 车辆位置实时更新传统的setY,setY在并发过程会出差错。定义一个final localtion类并且构造函数直接初始化x,y。 /*** 车辆位置经纬度值*/ public final class Location {private final double x;private final double y;public Location(double x, double y) {this.x x;this.y y;} }同时定义一个traker类来存储多个车辆的位置信息更新的时候直接用新的location位置类去update ConcurrentHashMap。 /*** 不可变类实现并发更新安全* 通过每次更新位置直接初始化一个全新的location然后set到车辆位置map中*/ public class CarLocationTracker {/*** 车辆编码对应车辆位置信息map* ConcurrentHashMap是利用CASsynchronized来保证并发安全*/private MapString, Location locationMap new ConcurrentHashMap();/*** 更新车辆位置** param carCode 车辆编码* param newLocation 车辆新位置*/public void updateLocation(String carCode, Location newLocation) {locationMap.put(carCode, newLocation);}/*** 获取车辆位置** param carCode 车辆斌吗* return*/public Location getLocation(String carCode) {return locationMap.get(carCode);} }3.ThreadLocal ThreadLocal 变量线程局部变量.同一个ThreadLocal所包含的对象在不同线程中有不同的副本。 private static final ThreadLocal threadCount new ThreadLocal();/*** ThreadLocal 变量线程局部变量*/public void threadLocalParam(){Integer count (Integer) threadCount.get();/*本次处理业务统计*/count;System.out.println(count);}4.CAS原子类 CAS 机制三个基本操作内存地址V旧的预期值A要修改的新值B只有当内存地址V所对应的值与旧的预期值A相等才会将内存地址V对应的值更新为B。 private AtomicInteger counter new AtomicInteger(0);/*** cas 原子类是个乐观锁并发性能很高。通过compare and swap比较并置换的原子性设计read 从jvm主存中读取旧值oldV* 更新的时候先比较oldV与主存中的v是否相等相等就把newV更新替换v如果不相等继续while循环从主存读取新的旧值oldV。** 底层是c实现保证三个步骤执行在硬件级别是原子性要么三个一起执行成功又不继续循环直到成功。*/public void atomicAdd(){//比如接口访问总次数统计System.out.println(counter.incrementAndGet());}二.有锁方式 1. 关键字synchronized //访问统计private int viewCount 0;public synchronized void syncAdd(){addViewCount();}private void addViewCount(){viewCount;}2. 可重入锁ReentrantLock //悲观锁private ReentrantLock lock new ReentrantLock();//访问统计private int viewCount 0;private void addViewCount(){viewCount;}/*** 通过执行方法前加锁执行完毕主动释放锁保证int 并发安全*/public void lockAdd(){lock.lock();try {addViewCount();} finally {lock.unlock();}}
http://www.hkea.cn/news/14570849/

相关文章:

  • 做引流网站怎么赚钱赚谁的钱绿色wordpress主题模板
  • 果洛营销网站建设哪家好wordpress如何cdn加速
  • 网站建设定位分析论文深圳市宝安区
  • 网站建设 流程郑州网站建设汉狮
  • seo整站网站推广优化排名黄骅港招聘最新招聘
  • 网站建设合同不给版权百度竞价sem入门教程
  • 网站建设与软件开发哪个好赚钱wordpress新建菜单
  • 阿里云建wordpress站做美食没有广告的网站
  • 网站gzip压缩重庆新闻联播回看
  • 网站建设的基础知识与维护兰州做网站 东方商易
  • 开网站赚钱分销平台官网
  • 营销外包网站定制化网站开发一般多少钱
  • 口碑好的网站建设公司哪家好产品展示栏目在网站中的作用
  • 网站建设公司的转型wordpress大学主题1.3
  • 潍坊网站制作软件怎么搭建网站 优帮云
  • 网站开发服务税率是多少当前主流的网站开发语言
  • 青岛网站建设公司招聘山东网站建设口碑好
  • 绿色环保材料网站模板python基础教程第二版
  • 上传下载网站模板安徽海鹏建设工程有限公司网站
  • 门户网站用什么程序做Wordpress怎么改成中文
  • 邢台医院网站建设深圳市住房和建设局红色警示查询
  • 网站 测速度搜索引擎优化时营销关键词
  • 百度有没有做游戏下载网站吗wordpress 文章样式
  • 怎么建设淘宝联盟的网站网站倒计时怎么做
  • 网站维护运营好做吗河南网站托管
  • 深圳凌 网站开发黄埔网站开发
  • 湘西北京网站建设上海装修公司排名统帅
  • 网页游戏网站搭建建设有限公司首页
  • 做网站还是做游戏wordpress 文章系统
  • 网站怎么做备份营销策划36计