
java并发问题
wang20y8
这个作者很懒,什么都没留下…
展开
-
springcloud zuul实现500并发
需求,只需5分钟的并发在500左右。使用Nginx转发(其实有zuul可以不用Nginx,但是需要要用Nginx和zuul,没办法,反应说:需要熔断)先看Nginx配置信息:对应3个zuul。然后对应zuul的配置信息:配置好tomcat的并发请求,它默认并发量是150好像。zuul的后续配置信息:然后后台服务端同时也需要配置tomcat,木桶效应配置信息如下:...原创 2019-10-12 16:46:43 · 2191 阅读 · 0 评论 -
java 原子操作的实现原理(1)
处理器如何实现原子操作(1)使用总线锁保证原子性第一个机制是通过总线锁保证原子性。如果多个处理器同时对共享变量进行读改写操作(i++就是经典的读改写操作),那么共享变量就会被多个处理器同时进行操作,这样读改写操作就不是原子的,操作完之后共享变量的值会和期望的不一致;处理器使用总线锁就是来解决这个问题的。所谓总线锁就是使用处理器提供的一个LOCK#信号,当一个处理器在总线上输出此信号时,其他...原创 2018-09-30 16:00:34 · 180 阅读 · 0 评论 -
java 原子操作的实现原理(2)
Java中可以通过锁和循环CAS的方式来实现原子操作。在上一节中就有讲总线锁和缓存锁:https://blog.youkuaiyun.com/wang20y8/article/details/82910655这一节只讲使用循环CAS实现原子操作:(1)JVM中的CAS操作正是利用了处理器提供的CMPXCHG指令实现的。自旋CAS实现的基本思路就是循环进行CAS操作直到成功为止。下面是通过CAS线程...原创 2018-09-30 16:15:56 · 318 阅读 · 0 评论 -
并发时通过key从redis取值为null,redis对应的key是有值,这个问题怎么解决?
就是100的并发,为数据库插入数据,现在发现100条有时候会有3-18条数据没录入到数据库,查看原因,返回 状态码:GM_020001 错误信息:设备不存在。查看原因,原来是从redis里面取出来的对象是空的,接口直接返回信息,导致数据库少数据。由于技术有限,并没有去解决这个取值的问题,而是通过查询数据库来弥补这个问题。...原创 2019-10-11 15:38:21 · 4476 阅读 · 2 评论