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

营销型网站建设规划书创意设计公司名字大全

营销型网站建设规划书,创意设计公司名字大全,平台网站建设哪家有,删负面的网站什么是分布式锁 分布式锁是指分布式环境下#xff0c;系统部署在多个机器中#xff0c;实现多进程分布式互斥的一种锁。为了保证多个进程能看到锁#xff0c;锁被存在公共存储#xff08;比如 Redis、Memcache、数据库等三方存储中#xff09;#xff0c;以实现多个进程并…什么是分布式锁 分布式锁是指分布式环境下系统部署在多个机器中实现多进程分布式互斥的一种锁。为了保证多个进程能看到锁锁被存在公共存储比如 Redis、Memcache、数据库等三方存储中以实现多个进程并发访问同一个临界资源同一时刻只有一个进程可访问共享资源确保数据的一致性。 在单机时代虽然不存在分布式锁但也会面临资源互斥的情况只不过在单机的情况下如果有多个线程要同时访问某个共享资源的时候我们可以采用线程间加锁的机制即当某个线程获取到这个资源后就需要对这个资源进行加锁当使用完资源之后再解锁其它线程就可以接着使用了。例如在JAVA中甚至专门提供了一些处理锁机制的一些APIsynchronize/Lock等。 但是到了分布式系统的时代这种线程之间的锁机制就没作用了系统可能会有多份并且部署在不同的机器上这些资源已经不是在线程之间共享了而是属于进程之间共享的资源。因此为了解决这个问题「分布式锁」就强势登场了。 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。在分布式系统中常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源那么访问这些资源的时候往往需要互斥来防止彼此干扰来保证一致性在这种情况下便需要使用到分布式锁。 在分布式系统中常常需要协调他们的动作。如果不同的系统或是同一个系统的不同主机之间共享了一个或一组资源那么访问这些资源的时候往往需要互斥来防止彼此干扰来保证一致性这个时候便需要使用到分布式锁。 1. 分布式锁要求 排他性在同一时间只会有一个客户端能获取到锁其它客户端无法同时获取避免死锁这把锁在一段有限的时间之后一定会被释放正常释放或异常释放高可用获取或释放锁的机制必须高可用且性能佳 2. 分布式锁实现 目前相对主流的有三种从实现的复杂度上来看从上往下难度依次增加数据库(MySQL)RedisZooKeeper Redisson Redisson开源框架是一个Redis的分布式锁的现成实现方案是Redis的 java 实现的客户端。通过 Netty 支持非阻塞 I/O。 Redisson实现了分布式锁的自动续期机制、锁的互斥自等待机制、锁的可重入加锁与释放锁的机制。 1.依赖坐标 dependencygroupIdorg.redisson/groupIdartifactIdredisson-spring-boot-starter/artifactId /dependency2.代码示例 public String testOneLock() { // 1.获取锁只要锁的名字一样获取到的锁就是同一把锁。 RLock lock redisson.getLock(onelock); System.out.println(-----获得锁lock对象lock); // 2.加锁 lock.lock(); try {System.out.println(加锁成功执行逻辑代码。线程 ID Thread.currentThread().getId());//while (true){Thread.sleep(10000);System.out.println(逻辑代码执行完成。。。);//} } catch (Exception e) {e.printStackTrace(); } finally {// 3.解锁lock.unlock();System.out.println(Finally处释放锁成功。线程 ID Thread.currentThread().getId()); } return onelock锁测试完成。; }public FlyingFlowerV1Vo insert(FlyingFlowerReq flyingFlowerReq, String userId) throws Exception {//对进来的用户加锁RLock userLock redissonClient.getLock(RedissonKey.USER_ID userId);try{//尝试加锁, 最多等待1秒, 1000秒后自动解锁if (userLock.tryLock(1, 1000, TimeUnit.MILLISECONDS)) {//业务逻辑的代码通常在插入修改的操作方法上进行加锁}catch (Exception e){//提示System.out.println(接令频繁 userId);throw new ResultInfo(ResultUtils.error(接令频繁请稍后再试));}finally {//解锁if (userLock.isHeldByCurrentThread()) {userLock.unlock();}}return null; }
http://www.lakalapos1.cn/news/19683/

相关文章:

  • 传奇网站发布网专业建设网站公司
  • 免费网站开发合同制作网站流程图
  • 电子商务网站建设论文总结百度官方网站入口
  • 个人申请网站商务网站建设简答题及答案
  • 专业网站建设的意义网站的备案
  • 网站备案安全承诺书如何在公司网站下设置邮箱
  • 网站建设方案数php免费网站源码
  • 页面设计的排列方法包括哪几种形式宁波seo网络推广外包报价
  • 国外虚拟币网站开发wordpress正体中文
  • 网站的开发环境设计重庆雕塑制作
  • 深圳微商城网站设计多少钱重庆专业网站搭建
  • 昆山专业网站建设公司开发者头条
  • 网站建设与设计云主机如何做网站
  • 山阴县2017建设局网站网站建设安全与维护
  • 电子商务公司的经营范围seo挂机赚钱
  • unn建站简述四大行业的网站推广方式
  • 做网站优化词怎么选择关于进行网站建设费用的请示
  • 商业门户网站是什么意思软件开发网
  • 厦门 外贸商城网站建设网站添加 备案
  • 做网站样本电销好做吗wordpress缺少style
  • 南头专业企业网站建设公司软件开发相关文档
  • 财政局网站建设方案免费下载app软件网站
  • 国外做的好的电商网站推荐ru域名注册
  • 石排镇专业建站公司购物网站 建设
  • 室内设计师第一网站商丘市住房和城乡建设厅网站
  • 企业网站推广方法有哪些?微信怎么创建自己的小程序
  • 多语言网站建设应注意哪些事项2022十大热点事件及评析
  • 婚纱摄影网络公司网站源码建设银行积分兑换商城网站
  • 四川住房和城乡建设九大员网站网站建设技术风险
  • 国内做外贸的网站php做网站安性如何