Java中synchronized关键字锁定的内容
来源:互联网 发布:js让div显示 编辑:程序博客网 时间:2024/05/14 09:17
synchronized关键字能锁定什么?通常我们锁定的是一个对象或者是一个代码块。其实synchronized还能锁定一些其他内容。
同步分为 同步方法 和 同步块 两种方式。
变量分为 实例变量(不带static的变量) 和 类变量(带static的变量)。
同步锁锁定的内容是什么?
无论你将Synchronized加在方法【非static,static的后面还会说】前还是加在一个变量【非static,static的后面还会说】前,其锁定的都是一个对象。 每一个对象都只有一个锁与之相关联。
上面两种写法是一样的,都是锁定实例对象。
下面的写法都是锁定类对象。在下面的例子中是锁定的Demo3这个类。
【当锁定static变量的时候,由于static变量只有一份拷贝,所以此时锁定的也是类对象】
在这种情况下,如果有一个线程thread 访问了这4个方法中的任何一个, 在同一时间内其它的线程都不能访问这4个方法。
总结一下:
synchronized可以修饰方法,可以修饰变量,方法和变量都可以是静态的【类方法类变量】,或者是非静态【实例方法实例变量】的。
-------------------------------------------------------------
一个线程执行临界区代码过程如下:
1 获得同步锁
2 清空工作内存
3 从主存拷贝变量副本到工作内存
4 对这些变量计算
5 将变量从工作内存写回到主存
6 释放锁
- Java中synchronized关键字锁定的内容
- Java中synchronized关键字锁定的内容
- Java中synchronized关键字锁定的内容
- java 使用synchronized关键字锁定的对象
- Java中Synchronized关键字
- Java中synchronized关键字
- Java牛角尖【009】: 多线程中synchronized的锁定方式
- Java中 synchronized 关键字的用法
- java多线程中synchronized关键字的用法
- java多线程中synchronized关键字的用法
- Java中synchronized关键字的简单理解
- java 中synchronized关键字的用法
- java中volatile、synchronized 关键字的含义
- Java中synchronized关键字的使用
- java中synchronized关键字的用法
- java中synchronized关键字的认识&记录
- java中volatile、synchronized关键字的含义
- java中synchronized关键字的用法
- union笔试题
- c++类构造顺序
- ubuntu下搭建MPI并行计算环境
- MFC或VC++中利用ADO连接数据库的步骤
- javascript call
- Java中synchronized关键字锁定的内容
- pptp vpn
- ABAP开发基础知识:1) 内表(Internal Table)
- 将单向链表reverse,如ABCD变成DCBA,只能搜索链表一次。
- 单纯的C语言可以干啥?
- locate
- JDBC连接(单例模式)
- DOM解析XML-详细
- poj 2299 树状数组离散化逆序数 水