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

智能建站公司企业名录软件

智能建站公司,企业名录软件,网银网站模板,钛钢饰品网站建设在并发编程中#xff0c;多线程同时并发访问的资源叫做临界资源#xff0c;当多个线程同时访问对象并要求操作相同资源时#xff0c;分割了原子操作就有可能出现数据的不一致或数据不完整的情况#xff0c;为避免这种情况的发生#xff0c;我们会采取同步机制#xff0c;…在并发编程中多线程同时并发访问的资源叫做临界资源当多个线程同时访问对象并要求操作相同资源时分割了原子操作就有可能出现数据的不一致或数据不完整的情况为避免这种情况的发生我们会采取同步机制以确保在某一时刻方法内只允许有一个线程。       采用synchronized修饰符实现的同步机制叫做互斥锁机制它所获得的锁叫做互斥锁。每个对象都有一个monitor(锁标记)当线程拥有这个锁标记时才能访问这个资源没有锁标记便进入锁池。任何一个对象系统都会为其创建一个互斥锁这个锁是为了分配给线程的防止打断原子操作。每个对象的锁只能分配给一个线程因此叫做互斥锁。       这里就使用同步机制获取互斥锁的情况进行几点说明       1、如果同一个方法内同时有两个或更多线程则每个线程有自己的局部变量拷贝。       2、类的每个实例都有自己的对象级别锁。当一个线程访问实例对象中的synchronized同步代码块或同步方法时该线程便获取了该实例的对象级别锁其他线程这时如果要访问synchronized同步代码块或同步方法便需要阻塞等待直到前面的线程从同步代码块或方法中退出释放掉了该对象级别锁。       3、访问同一个类的不同实例对象中的同步代码块不存在阻塞等待获取对象锁的问题因为它们获取的是各自实例的对象级别锁相互之间没有影响。       4、持有一个对象级别锁不会阻止该线程被交换出来也不会阻塞其他线程访问同一示例对象中的非synchronized代码。当一个线程A持有一个对象级别锁即进入了synchronized修饰的代码块或方法中时线程也有可能被交换出去此时线程B有可能获取执行该对象中代码的时间但它只能执行非同步代码没有用synchronized修饰当执行到同步代码时便会被阻塞此时可能线程规划器又让A线程运行A线程继续持有对象级别锁当A线程退出同步代码时即释放了对象级别锁如果B线程此时再运行便会获得该对象级别锁从而执行synchronized中的代码。      5、持有对象级别锁的线程会让其他线程阻塞在所有的synchronized代码外。例如在一个类中有三个synchronized方法abc当线程A正在执行一个实例对象M中的方法a时它便获得了该对象级别锁那么其他的线程在执行同一实例对象即对象M中的代码时便会在所有的synchronized方法处阻塞即在方法abc处都要被阻塞等线程A释放掉对象级别锁时其他的线程才可以去执行方法ab或者c中的代码从而获得该对象级别锁。      6、使用synchronizedobj同步语句块可以获取指定对象上的对象级别锁。obj为对象的引用如果获取了obj对象上的对象级别锁在并发访问obj对象时时便会在其synchronized代码处阻塞等待直到获取到该obj对象的对象级别锁。当obj为this时便是获取当前对象的对象级别锁。      7、类级别锁被特定类的所有示例共享它用于控制对static成员变量以及static方法的并发访问。具体用法与对象级别锁相似。     8、互斥是实现同步的一种手段临界区、互斥量和信号量都是主要的互斥实现方式。synchronized关键字经过编译后会在同步块的前后分别形成monitorenter和monitorexit这两个字节码指令。根据虚拟机规范的要求在执行monitorenter指令时首先要尝试获取对象的锁如果获得了锁把锁的计数器加1相应地在执行monitorexit指令时会将锁计数器减1当计数器为0时锁便被释放了。由于synchronized同步块对同一个线程是可重入的因此一个线程可以多次获得同一个对象的互斥锁同样要释放相应次数的该互斥锁才能最终释放掉该锁。转载于:https://www.cnblogs.com/web424/p/6807597.html
http://www.pierceye.com/news/32744/

相关文章:

  • 哈尔滨网络科技公司做网站在线设计发型免费女
  • 精品课程网站建设毕业设计邢台头条新闻
  • 购买帝国cms做网站代理广州官网建站
  • 网页表格代码天津关键词优化平台
  • 做网站的安全证书3d自学网站
  • 买网站自己做360网站推广怎么做
  • 做网页网站需要钱吗wordpress显示副标题
  • 怎么做属于自己的领券网站专业做网站的技术人员
  • 网站开发维护招聘农商1号的网站建设费
  • 有域名和空间怎么做网站企业常用的网络推广策略
  • 网站建设项目前分析网站技术方案
  • 怎么学习网站建设做直播网站需要什么
  • 淘宝网站开发选什么类目做网站哪个公司
  • 建设速干裤移动网站织梦网站做站群
  • 关于网站开发所需的知识网站建设合同应注意
  • 昆山网页网站制作网易企业邮箱怎么认证
  • 婚恋网站制作要多少钱闲鱼网站建设
  • 网站上线要准备什么设计师喜欢的几个网站
  • 网站建设怎么做分录H5响应式网站数据
  • 南宁网站制作系统企业网站源码系统
  • 济南网站设计开发做微信扫码网站
  • 电子商务网站软件建设的百度账号购买网站
  • 重庆江北网站建设网站设计精美案例
  • 百度推广负责做网站吗天津市城乡建设网
  • 湖南智能网站建设推荐北京网站备案更换主体
  • 低价网站建设哪个好国外 配色网站
  • 网站营销主管岗位职责架构师是做什么的
  • 如何修改网站备案南宁市住房和城乡建设部网站
  • 商城网站建设是 什么软件吉林网站建设设计
  • 四川住房建设厅官方网站企业展厅设计要点