synchronized object & synchronized method
来源:互联网 发布:什么叫域名过期 编辑:程序博客网 时间:2024/05/23 01:57
多线程需要一定的“计算机”式的思维!
synchronized method 情况下,当有任何线程调用这个 method 时,其他线程都无法访问这个实例(instance)中所有声明为 synchronized 的 method。
而 synchronized object 就灵活很多,因为它只限制了 synchronized(object){ ... } 中的这部分代码只能由一个线程访问。也就是说尽管有两个线程访问同一个实例 (instance),下面的代码依然可以保证正常工作:
public class ThreadSafe{
public void method1(){
synchorinzed(object1){
.....
}
}
public void method2(){
synchronized(object2){
.....
}
}
}
当有两个线程同时分别访问 method1 和 method2,两个线程都不会被阻塞,效率就比使用 synchronized method 高多了。
但如果有两个线程想同时访问 method2,则同一时间只能有一个线程使用 synchronized(object2){ ... } 里的代码。
有一点千万要记住,synchronized object 与 synchronized method 这两种方法是针对同一个实例(instance),而不是类!!这点一定要搞清楚!
- synchronized object & synchronized method
- synchronized(object)
- synchronized(class)、synchronized(this)与synchronized(object)
- synchronized(class)、synchronized(this)与synchronized(object)
- synchronized(class)、synchronized(this)与synchronized(object)
- Static synchronized Method
- 理解synchronized(Object)锁
- synchronized(this) VS synchronized( other object)
- synchronized(this)和synchronized(object)区别
- synchronized(this)和synchronized(object)区别
- synchronized(this)和synchronized(object)的理解
- synchronized
- synchronized
- synchronized
- synchronized
- synchronized
- synchronized
- synchronized
- 再看《奋斗》
- UNIX 技巧: UNIX 高手的另外 10 个习惯-----成为 UNIX 命令行高手
- ICSharpCode.TextEditor_2.2 增加了Languages 类型选择(版本2.0.0.923)
- 51job
- 使用python实现文本文件合并功能
- synchronized object & synchronized method
- InstallShield中禁止反安装
- C#操作EXCEL
- 对synchronized(this)的一些理解
- SQL SERVER 与ACCESS、EXCEL的数据转换
- InstallShield中安装后执行指定程序
- 一种屏蔽所有系统热键的方法
- 在Sql Server中查询一下Excel文件的时候出现问题:
- SQL语句导入导出大全