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

织梦网站问题短视频营销常用平台有

织梦网站问题,短视频营销常用平台有,宁波网站推广建站,网站开发网站定制分布式锁:在一个公共的存储服务上打上一个标记,如Redis的setnx命令,是先到先得方式获得锁,ZooKeeper有点像下面的demo,比较大小的方式判决谁获得锁。 package com.ldj.mybatisflex.demo;import java.util.*; import java.util.co…

 分布式锁:在一个公共的存储服务上打上一个标记,如Redis的setnx命令,是''先到先得''方式获得锁,ZooKeeper有点像下面的demo,比较大小的方式判决谁获得锁。

package com.ldj.mybatisflex.demo;import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;/*** User: ldj* Date: 2025/1/12* Time: 1:50* Description: 基于文件系统制作的分布式锁demo*/
public class LockDemo {public static void main(String[] args) throws InterruptedException {//模拟文件存储系统List<String> files = new CopyOnWriteArrayList<>();List<Integer> hashCodes = new ArrayList<>();//使用3个线程模拟3台服务往文件存储系统写消息writeMsg(files, hashCodes);System.out.println("result:" + hashCodes.toString());//构建hashCode与IP的对映关系Map<String, String> map = new LinkedHashMap<>();for (int i = 0; i < hashCodes.size(); i++) {map.put(hashCodes.get(i).toString(), files.get(i).split(";")[0]);}System.out.println(map.toString());//排序获取最大数值Collections.sort(hashCodes);String key = hashCodes.get(hashCodes.size() - 1).toString();System.out.println("key: " + key);//比较3个消息code那个数字最大,最大的就是获得锁System.out.println("获得分布式锁的服务IP是: " + map.get(key));//模拟获得锁服务处理业务TimeUnit.SECONDS.sleep(3);//处理完成业务,通知文件存储系统清理消息文件(或者文件系统的定时任务自己处理也行)files.clear();System.out.println(files.toString());/*假设一个场景,1号服务获得锁,处理业务过程中挂了,会怎么样???响应超时用户重试请求需要服务协调器去注册中心,根据心跳机制找到健康的服务然后再重新获取分布式锁当然这个场景不需要分布式锁,直接让服务协调器负载均衡派发请求就好了*/}private static void writeMsg(List<String> files, List<Integer> hashCodes) throws InterruptedException {//计数器,用于等待线程执行完毕!CountDownLatch count = new CountDownLatch(3);new Thread(() -> {files.add("192.168.208.1;" + UUID.randomUUID().toString().replaceAll("-", ""));count.countDown();}).start();new Thread(() -> {files.add("192.168.208.2;" + UUID.randomUUID().toString().replaceAll("-", ""));count.countDown();}).start();new Thread(() -> {files.add("192.168.208.3;" + UUID.randomUUID().toString().replaceAll("-", ""));count.countDown();}).start();//等待3个线程(服务器)往文件系统写消息count.await();System.out.println("3个模拟服务器往文件存储器完毕!");System.out.println(files.toString());//将消息字符串转为正整数字if (files.size() > 0) {for (String file : files) {hashCodes.add(Math.abs(file.hashCode()));}}//重复判单,确保每个数字不相等,如果相等再来一次HashSet<Integer> set = new HashSet<>(hashCodes);if (set.size() != hashCodes.size()) {files.clear();hashCodes.clear();writeMsg(files, hashCodes);}}
}

http://www.wangmingla.cn/news/103692.html

相关文章:

  • wordpress减少数据库连接优化师
  • 网站 地区加关键词中国数据统计网站
  • 织梦网站模板免费河南郑州最新消息
  • 高淳建设局网站短视频营销成功案例
  • 网站音乐播放代码本地建站软件有哪些
  • 怎样推广一个产品哈尔滨seo公司
  • wordpress自定义界面广州seo公司排名
  • 网店代运营哪家公司好长沙seo推广公司
  • wordpress 打不开银川seo
  • 企业网站建设多少钱自助建站系统代理
  • 网站制作北京海淀百度搜索资源平台
  • 南京网站设计 联络南京乐识太原搜索排名提升
  • 响应式网站导航栏模板网络游戏推广员
  • 网站编辑转做新媒体运营杭州网站
  • 成考做那个网站的题比较好苏州seo关键词优化外包
  • 站长工具是什么长沙推广引流
  • 网站免费打包股票发行ipo和seo是什么意思
  • 怎么做网站系统搜索引擎营销的概念
  • 网站高质量链群怎么做广州网站制作公司
  • 网站的ip地址香港广东seo加盟
  • 龙岩淘宝设计北京百度seo关键词优化
  • 免费建站优化石家庄新闻
  • 比较有名的diy制作网站网站推广找客户
  • 集团网站建设方案百度云资源搜索平台
  • 湛江专业建网站哪家好郑州高端网站建设
  • 如何自己做网站推广一键优化软件
  • 南充网站建设略奥网络百度一下你就知道了百度
  • 铭万做的网站怎么样搜索引擎营销的特点
  • 做黑彩网站赚钱吗项目推广平台排行榜
  • dw建网站深圳将进一步优化防控措施