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

怎么学习企业网站维护世界互联网公司排名

怎么学习企业网站维护,世界互联网公司排名,wordpress new2主题使用,南宁正规公众号网站建设推广synchronized 锁机制简单的用法#xff0c;高效的执行效率使成为解决线程安全的首选。 下面总结其特性以及使用技巧#xff0c;加深对其理解。 特性: 1. Java语言的关键字#xff0c;当它用来修饰一个方法或者一个代码块的时候#xff0c;能够保证在同一时刻最多只有一个线…synchronized 锁机制简单的用法高效的执行效率使成为解决线程安全的首选。 下面总结其特性以及使用技巧加深对其理解。 特性:   1. Java语言的关键字当它用来修饰一个方法或者一个代码块的时候能够保证在同一时刻最多只有一个线程执行该段代码。       2. 当一个线程同时访问object的一个synchronized(this)同步代码块时其它线程仍然可以访问非修饰的方法或代码块。       3. 当多个线程同时访问object的synchronized(this)同步代码块时会存在互斥访问其它线程会阻塞直到获取锁。       4. 当线程访问object的synchronized(this)同步代码块时同一个线程可以多次获取锁当然也不需要释放多次。获取和释放必须相同。       5. 所有的对象都可以获取锁也可以释放锁。       6. 所有的类也可以获取锁和释放锁因此静态方法也可以加锁。而特性同上。 猜想      在jvm中对每个对象都有一个记录锁的状态当同一个线程访问锁时候就会累加其它线程访问要等到状态变为未锁状态当让相同线程释放锁会累减。  质疑     那么对于类锁来说应该是所有对象都可以获取锁那么锁是全局的对所有对象都有效 public class SynchronizedMtdTest {public static void main(String[] args) {new Thread(new Runnable() {Overridepublic void run() {SynchronizedMtdTest.appendStr();}}).start();new Thread(new Runnable() {Overridepublic void run() {SynchronizedMtdTest.printStr();}}).start();new Thread(new Runnable() {Overridepublic void run() {SynchronizedMtdTest synchronizedMtdTest new SynchronizedMtdTest();synchronizedMtdTest.appendStr();}}).start();new Thread(new Runnable() {Overridepublic void run() {SynchronizedMtdTest synchronizedMtdTest new SynchronizedMtdTest();synchronizedMtdTest.printStr();}}).start();new Thread(new Runnable() {Overridepublic void run() {SynchronizedMtdTest synchronizedMtdTest new SynchronizedMtdTest();synchronizedMtdTest.append();}}).start();}public synchronized static void appendStr() {System.out.println(pid Thread.currentThread().getId() ------appendStr------);try {Thread.sleep(1000);System.out.println(pid Thread.currentThread().getId() ------appendStr1000------);} catch (InterruptedException e) {e.printStackTrace();}}public static void append() {System.out.println(pid Thread.currentThread().getId() ------append------);try {Thread.sleep(3000);System.out.println(pid Thread.currentThread().getId() ------append3000------);} catch (InterruptedException e) {e.printStackTrace();}}public synchronized static void printStr() {System.out.println(pid Thread.currentThread().getId() ------printStr------);try {Thread.sleep(6000);System.out.println(pid Thread.currentThread().getId() ------printStr6000------);} catch (InterruptedException e) {e.printStackTrace();}}} 结果: pid10------appendStr------ pid14------append------ pid10------appendStr1000------ pid13------printStr------ pid14------append3000------ pid13------printStr6000------ pid12------appendStr------ pid12------appendStr1000------ pid11------printStr------ pid11------printStr6000------分析结果可以看出对于静态方法加锁所有的线程调用方法不管怎样都会互斥而为加锁不会互斥。 因此:     对于类锁来说应该在持久代也就是方法区有对具体类也有加锁机制而且原理同对象锁。 那么     可见上面可以做如下修改达到相同效果。 public static void appendStr() {synchronized (SynchronizedMtdTest.class) {System.out.println(pid Thread.currentThread().getId() ------appendStr------);try {Thread.sleep(1000);System.out.println(pid Thread.currentThread().getId() ------appendStr1000------);} catch (InterruptedException e) {e.printStackTrace();}}}public static void printStr() {synchronized (SynchronizedMtdTest.class) {System.out.println(pid Thread.currentThread().getId() ------printStr------);try {Thread.sleep(6000);System.out.println(pid Thread.currentThread().getId() ------printStr6000------);} catch (InterruptedException e) {e.printStackTrace();}}}结果: pid10------appendStr------ pid10------appendStr1000------ pid13------printStr------ pid13------printStr6000------ pid12------appendStr------ pid12------appendStr1000------ pid11------printStr------ pid11------printStr6000------  转载于:https://www.cnblogs.com/maybo/p/7560754.html
http://www.zqtcl.cn/news/930863/

相关文章:

  • 临沂网站排名高质量的中山网站建设
  • 响应式网站定制开发网络教育全程托管
  • 做网站中的剪辑图片龙岗网站
  • 建设购物网站的意义免费做外贸的网站平台
  • 长沙做电商网站设计重庆观音桥旅游攻略
  • 网站建设的目标与期望动漫设计与制作工资多少
  • 做网站找网站设计公司 长沙
  • 网站维护内容网站代码下载
  • 西安建设主管部门官方网站wordpress返回件
  • 建立免费空间网站南宁seo推广外包
  • 网站初期如何推广用秀米制作h5详细步骤
  • 做网站需要执照嘛开发 网站 团队
  • 怎么提交网站关键词包头人脸检测系统
  • 哪个网站开发是按月付费的婚纱摄影建设网站的目的
  • 站长之家app简单网站制作步骤
  • 网站开发与桌面应用开发wordpress if include
  • 网站怎么做预约小程序江苏省工程建设招标网站
  • python做网站有什么弊端专业做网带
  • 浙江建设工程考试网站wordpress等模版比较
  • seo网站论文高端疫苗
  • 山东省城乡住房和建设厅网站首页贵阳网站建设技术托管
  • 免费的网站申请做电影网站被告版权
  • 网站后台显示不全百姓网招聘信息最新招聘
  • 前端手机网站同企网站建设做网站
  • 重庆专业网站公司查看网站是否收录
  • 网站怎么做网上报名学多久可以做网站 知乎
  • 网站建设项目总结报告织梦模板建站
  • 关于网站建设的基础知识中石化十建公司官网
  • 江苏做网站怎么收费wordpress的wap插件
  • 企业营销网站建设公司哪家好网站建设团队名称