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

外国人 做的中国字网站/企业网站快速建站

外国人 做的中国字网站,企业网站快速建站,江西网站建设价格,莒县网站设计文章目录线程安全synchronized主要有3种使用方式参考线程安全 当多个线程去访问同一个类(对象或方法)的时候,该类都能表现出正常的行为(与自己预想的结果一致),那我们就可以所这个类是线程安全的。 造成线…

文章目录

      • 线程安全
      • synchronized主要有3种使用方式
      • 参考

线程安全

当多个线程去访问同一个类(对象或方法)的时候,该类都能表现出正常的行为(与自己预想的结果一致),那我们就可以所这个类是线程安全的。

造成线程安全问题的主要诱因有两点:

  • 一是存在共享数据(也称临界资源)
  • 二是存在多条线程共同操作共享数据

因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式有个高尚的名称叫互斥锁,即能达到互斥访问目的的锁,也就是说当一个共享数据被当前正在访问的线程加上互斥锁后,在同一个时刻,其他线程只能处于等待的状态,直到当前线程处理完毕释放该锁

关键字 synchronized可以保证在同一个时刻,只有一个线程可以执行某个方法或者某个代码块(主要是对方法或者代码块中存在共享数据的操作),同时我们还应该注意到synchronized另外一个重要的作用,synchronized可保证一个线程的变化(主要是共享数据的变化)被其他线程所看到(保证可见性,完全可以替代volatile功能)

synchronized主要有3种使用方式

  • 修饰实例方法,作用于当前实例,进入同步代码前需要先获取实例的锁
  • 修饰静态方法,作用于类的Class对象,进入修饰的静态方法前需要先获取类的Class对象的锁
  • 修饰代码块,需要指定加锁对象(记做lockobj),在进入同步代码块前需要先获取lockobj的锁

当一个线程正在访问一个对象的 synchronized 实例方法,那么其他线程不能访问该对象的其他 synchronized 方法,毕竟一个对象只有一把锁,当一个线程获取了该对象的锁之后,其他线程无法获取该对象的锁,所以无法访问该对象的其他synchronized实例方法,但是其他线程还是可以访问该实例对象的其他非synchronized方法,当然如果是一个线程 A 需要访问实例对象 obj1 的 synchronized 方法 f1(当前对象锁是obj1),另一个线程 B 需要访问实例对象 obj2 的 synchronized 方法 f2(当前对象锁是obj2),这样是允许的,因为两个实例对象锁并不同相同,此时如果两个线程操作数据并非共享的,线程安全是有保障的,遗憾的是如果两个线程操作的是共享数据,那么线程安全就有可能无法保证了

参考

第10天:线程安全和synchronized关键字
深入理解Java并发之synchronized实现原理

http://www.lbrq.cn/news/1466443.html

相关文章:

  • 大丰市市城乡建设局网站/产品软文范例100字
  • wordpress仪表盘默认/seo课培训
  • 重庆系统建站怎么用/互联网营销师考试内容
  • 如何把自己做的网站 放在网上/什么是核心关键词
  • 一个备案号可以绑定几个网站/济南seo网络优化公司
  • 建设中标查询网站/seo网站关键词优化哪家好
  • 乐清外贸网站建设/如何建造一个网站
  • wordpress 仿站交叉/seo关键字怎么优化
  • wordpress diy插件/seo网站推广下载
  • 郑州做网站哪个/专业网站优化外包
  • 跨境电商平台下载/优化大师是什么
  • 做h网站/查询域名注册信息
  • 合肥做网站建设公司/广东seo网站推广代运营
  • 做网站要学哪些/网站seo的方法
  • 哪些网站布局设计做的比较好的/合肥网站制作公司
  • 开微信公众号要交钱吗/北京seo网站开发
  • 江西赣州258网络推广/seo是指搜索引擎营销
  • 经验范围 网站建设/网站seo
  • 深圳网站建设怎么样/自媒体平台app
  • 德州企业网站优化公司/免费十大软件大全下载安装
  • 策划行业网站/怎样建网站
  • 可以做视频网站的源码/硬件优化大师下载
  • wdcp怎么上传做好的网站/广州网站建设费用
  • 重庆璧山网站建设/广告网络
  • 手绘风格的网站/广州网站优化排名
  • 做网站准备什么/站长工具seo综合查询分析
  • wordpress公司网站插件/2024年4月新冠疫情结束了吗
  • 做资源网站需要什么/竞价排名什么意思
  • 空气能空调如何做网站/亚马逊关键词优化软件
  • 投资者关系互动平台/在线刷seo
  • RAWINPUT避坑指南(涉及GetRawInputData/GetRawInputBuffer)
  • OLTP,OLAP,HTAP是什么,数据库该怎么选
  • ffmpeg命令和ffplay命令详解
  • 电子电气架构 --- 汽车网络安全概述
  • C#常见的转义字符
  • AJAX快速入门 - 四个核心步骤