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

如何做网站海报安徽六安市地图位置

如何做网站海报,安徽六安市地图位置,博客网站需求分析,北京宣传片制作公司文章目录 #x1f6f8;情景引入⭐解决问题 readLock()和writeLock()都是ReadWriteLock接口中定义的方法#xff0c;用于获取读锁和写锁。 readLock()方法返回一个读锁#xff0c;允许多个线程同时获取该锁#xff0c;以进行并发读取操作。如果当前已有一个写锁或其他线程正… 文章目录 情景引入⭐解决问题 readLock()和writeLock()都是ReadWriteLock接口中定义的方法用于获取读锁和写锁。 readLock()方法返回一个读锁允许多个线程同时获取该锁以进行并发读取操作。如果当前已有一个写锁或其他线程正在请求写锁则读锁会被阻塞直到所有写锁请求完成并释放锁为止。读锁和写锁之间是互斥的。 writeLock()方法返回一个写锁只允许一个线程获取该锁以进行写入操作。如果当前已有一个读锁或其他线程正在请求读锁则写锁会被阻塞直到所有读锁请求完成并释放锁为止。写锁是独占的同一时间只能有一个线程持有写锁。 在使用读写锁时应该根据具体的业务场景和需求选择适当的锁类型。如果共享资源的读取操作远远超过写入操作那么使用读写锁可以提高系统的并发性能。如果写入操作非常频繁那么使用读写锁可能会导致读取操作的性能下降因为读取线程需要等待写入线程释放写锁。此外读写锁也需要消耗额外的系统资源因此应该避免不必要的锁竞争。 情景引入 我们先看下面这段代码 本来应该是1写入然后1写入完全 但是现在1写入后紧跟着的是3写入 这明显是错误的 ⭐解决问题 下面我们来加上锁解决问题 package org.Test6;import java.util.HashMap; import java.util.Map; import java.util.concurrent.locks.ReadWriteLock; import java.util.concurrent.locks.ReentrantReadWriteLock;public class ReadWriteLockDemo {public static void main(String[] args) {MyCacheLock myCache new MyCacheLock();//写入for(int i1;i5;i){final int tempi;new Thread(()-{myCache.put(temp,temp);},String.valueOf(i)).start();}//读取for(int i1;i5;i){final int tempi;new Thread(()-{myCache.get(temp);},String.valueOf(i)).start();}} }//自定义缓存 class MyCacheLock{private volatile MapString,Object map new HashMap();private ReadWriteLock readWriteLock new ReentrantReadWriteLock();//存 写 写入的时候// 只希望只有一个线程去写public void put(String key,Object value){readWriteLock.writeLock().lock(); //加锁try {System.out.println(Thread.currentThread().getName()写入key);map.put(key,value);System.out.println(Thread.currentThread().getName()写入结束);} catch (Exception e) {e.printStackTrace();}finally {readWriteLock.writeLock().unlock(); //解锁}}//取 读//读的时候所有人都可以读public void get(String key){readWriteLock.readLock().lock(); //加锁try {System.out.println(Thread.currentThread().getName()读取key);Object omap.get(key);System.out.println(Thread.currentThread().getName()读取结束);} catch (Exception e) {e.printStackTrace();}finally {readWriteLock.readLock().unlock(); //解锁}} } 这段代码中读操作和写操作的主要区别在于使用的锁不同读操作使用ReadWriteLock实例中的readLock()获取读锁而写操作使用writeLock()获取写锁。 读写锁允许多个线程同时读取共享资源但只允许一个线程写入共享资源。因此在读操作中多个线程可以同时获得读锁并读取共享资源而写操作需要获取排他的写锁以防止其他线程同时写入共享资源。 在MyCacheLock中put()方法使用writeLock()获取写锁以确保只有一个线程在写入数据时修改共享资源而get()方法使用readLock()获取读锁允许多个线程同时读取数据。 这种读写锁的机制可以提高并发性能因为允许多个线程同时读取共享资源而不会产生数据冲突同时通过只允许一个线程写入共享资源可以避免写操作的数据竞争和不一致性。 独占锁写锁一次只能被一个线程占有 共享锁读锁多个线程可以同时占有 在技术的道路上我们不断探索、不断前行不断面对挑战、不断突破自我。科技的发展改变着世界而我们作为技术人员也在这个过程中书写着自己的篇章。让我们携手并进共同努力开创美好的未来愿我们在科技的征途上不断奋进创造出更加美好、更加智能的明天
http://www.zqtcl.cn/news/422457/

相关文章:

  • 给城市建设提议献策的网站网站建设可研报告
  • 常德论坛网站陕西建设官方网站
  • 怎么做网站访问量上海网站排名提升
  • 新乡企业网站建设胶州做网站公司
  • 网站后台权限分配说明什么网站是做家教的
  • 网站备案 空间备案 域名备案网站制作与管理技术标准实训教程
  • 东莞免费企业网站模板推广有没有专门做线下活动的网站
  • 驾校网站制作郑州手机网站建设多少钱
  • c2c网站建设策划书怎么看网站关键词密度
  • 网站在线支付方案网站建设 sam大叔排名三天上首页
  • 温岭新站seo网站免费进入窗口软件有哪些
  • 网站未备案什么意思网站 php .net
  • 网站开发第三方登录设计七牛图床 wordpress
  • 大连网站设计案例宁波品牌网站设计价格
  • 响应式表白网站源码黑龙江建设网电话
  • wordpress企业建站生产企业做网站的费用怎么做账
  • 天都城网站建设wordpress pluings
  • 惠州做网站的公司有哪些wordpress主动推送
  • jsp做的网站带数据库新手网站设计定价
  • 做网站公司需要什么条件不锈钢公司网站源码 网站建设 产品3级分类asp源码
  • 经营网站挣钱网络运维工程师证书怎么考
  • 厦门网站建设ui株洲企业网站制作
  • 创建个网站需要多少钱张家界seo优化方案
  • 深圳营销型网站建设公司哪家好熊岳网站怎么做
  • 邢台企业网站建设好么找公司做网站要注意什么问题
  • 做博客网站要怎么配置的服烟台app开发公司
  • 从化网站建设方案怎么注册公司名字
  • 网站建设需要哪些书籍免费做游戏网站
  • 杭州 网站定制做旅游网站宣传
  • 泉州市做网站优化建设地情网站的作用