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

芜湖做网站的邓健照片做网站技术方法有

芜湖做网站的邓健照片,做网站技术方法有,网站建设推广内容,电商平台搭建八个步骤1. synchronized 关键字 定义: synchronized 是 Java 提供的一个内置锁机制,用于控制多线程对共享资源的并发访问。 它可以修饰方法或代码块,确保同一时刻只有一个线程可以执行被 synchronized 修饰的代码。作用范围: 只能用于单…

1. synchronized 关键字

  • 定义: synchronized 是 Java 提供的一个内置锁机制,用于控制多线程对共享资源的并发访问。 它可以修饰方法或代码块,确保同一时刻只有一个线程可以执行被 synchronized 修饰的代码。
  • 作用范围: 只能用于单 JVM 进程内的多线程同步。
  • 实现原理:
    • synchronized 依赖于 JVM 实现,基于 Monitor 对象
    • 每个 Java 对象都有一个 Monitor 对象,当 synchronized 关键字修饰代码块时,JVM 会在进入同步块前后分别插入 monitorenter 和 monitorexit 指令。
    • monitorenter 指令尝试获取 Monitor 的所有权,如果 Monitor 的 entry count 为 0,则线程可以获取 Monitor 的所有权,并将 entry count 加 1。 如果其他线程已经持有 Monitor 的所有权,则当前线程会被阻塞,进入 EntrySet 队列等待。
    • monitorexit 指令释放 Monitor 的所有权,并将 entry count 减 1。 如果 entry count 减为 0,则唤醒 EntrySet 队列中的一个线程,让其尝试获取 Monitor 的所有权。
  • 特点:
    • 可重入性: 同一个线程可以多次获取同一个锁,避免死锁。
    • 非公平性: 线程获取锁的顺序是不确定的,可能导致某些线程一直无法获取到锁。
    • 阻塞性: 当线程无法获取锁时,会被阻塞,直到获取到锁为止。
    • 轻量级锁: 在 JDK 1.6 之后,synchronized 进行了优化,引入了偏向锁、轻量级锁等机制,提高了性能。
  • 适用场景:
    • 单 JVM 进程内的多线程同步。
    • 对性能要求不高,且竞争不激烈的场景。

2. 分布式锁

  • 定义: 分布式锁是一种跨 JVM 进程的锁机制,用于控制多个分布式节点对共享资源的并发访问。
  • 作用范围: 适用于分布式系统中的多节点同步。
  • 实现原理: 分布式锁通常基于以下几种方式实现:
    • 基于数据库:
      • 利用数据库的唯一索引或悲观锁来实现互斥。
      • 例如,在数据库中创建一个表,包含一个唯一索引的字段,当线程尝试获取锁时,向表中插入一条记录,如果插入成功,则表示获取锁成功,否则表示获取锁失败。
    • 基于 Redis:
      • 利用 Redis 的 SETNX (SET if Not Exists) 命令来实现互斥。
      • 当线程尝试获取锁时,执行 SETNX key value 命令,如果返回 1,则表示获取锁成功,否则表示获取锁失败。
      • 为了防止死锁,需要设置一个过期时间,当锁过期后自动释放。
      • 可以使用 Redlock 算法来提高 Redis 分布式锁的可靠性。
    • 基于 ZooKeeper:
      • 利用 ZooKeeper 的临时顺序节点来实现互斥。
      • 当线程尝试获取锁时,创建一个临时顺序节点,如果该节点是所有子节点中序号最小的节点,则表示获取锁成功,否则表示获取锁失败。
      • 当线程释放锁时,删除该节点。
      • ZooKeeper 的 Watcher 机制可以保证锁的可靠性和公平性。
  • 特点:
    • 跨 JVM 进程: 适用于分布式系统中的多节点同步。
    • 高性能: 基于 Redis 或 ZooKeeper 实现的分布式锁通常具有较高的性能。
    • 高可用性: Redis 和 ZooKeeper 都是高可用的分布式系统,可以保证分布式锁的可用性。
    • 可重入性: 可以通过在锁的 value 中存储线程 ID 来实现可重入性。
    • 公平性: 基于 ZooKeeper 实现的分布式锁可以保证公平性。
  • 适用场景:
    • 分布式系统中的多节点同步。
    • 需要保证数据一致性的场景。
    • 例如,分布式事务、分布式任务调度等。
http://www.dtcms.com/a/426126.html

相关文章:

  • 石家庄做网站电话做试试彩网站
  • 怎么做个人网站软件app免费下载大全
  • 嘉兴网站建设咨询广州建设信息网官网
  • 一个域名怎么用来做多个网站南京网站搭建
  • 谷歌paypal官网下载网站关键词排名优化软件
  • 专业网站设计开发wordpress备份文件后缀
  • 为何要网站优化百度seo引流怎么做
  • 清河做网站哪里好东莞网页设计培训班
  • 广州网站建设的地方推荐高新网站开发建设多少钱
  • 聊天网站模板网站建设的方案图片
  • 网站建设成本 网站空间站长工具seo
  • wordpress站点地图无法读取网站备案企业用个人来备案可以用吗
  • 网站模版安装教程网站建设提供商
  • 网站建设维护实训总结莱芜区组织部网站
  • 动易网站只能进首页东山县建设局网站
  • 网站建设朋友圈广告淮安做网站需要多少钱
  • 怎么查询网站的外链深圳公司代理
  • 建设网站所需要的技术my eclipse网站开发
  • 服装行业网站建设及推广注册企业的流程有哪些
  • 衡阳市城市建设投资有限公司网站山东省建设工程网站
  • seo网站建设步骤网页设计与网站规划
  • jsp网站开发实例工作服定制电话
  • 网站源码破解版事业单位微信公众号怎么创建
  • 婚纱礼服外贸网站如何注册品牌名称和商标
  • icp备案网站用不了wordpress 小工具插件
  • 美妆网站建设方案涿州网站建设涿州
  • 中建八局第一建设有限公司董事长seo优化与推广招聘
  • aws的efs可以做网站的什么哪些外贸网站可以做soho
  • 建站之星模板的使用大连网络设计有限公司
  • 网站新闻 写法wap手机网站开发asp经验