- 7
- 0
- 约3.03千字
- 约 4页
- 2021-04-01 发布于天津
- 举报
线程同步:
由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访 问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同 一个数据对象被多个线程同时访问。
需要明确的几个问题:
1synchronized关键字可以作为函数的修饰符,也可作为函数内的语句,也就是平 时说的同步方法和同步语句块。如果再细的分类 ,synchronized可作用于instanee变 量、object referenee对象引用、static函数和class literals类名称字面常量身上。
2无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而不是 把一段代码或函数当作锁 一一而且同步方法很可能还会被其他线程的对象访问。
3每个对象只有一个锁(lock与之相关联。
4实现同步是要很大的系统开销作为代价的,甚至可能造成死锁,所以尽量避免 无谓的同步控制。
1、synchronized关键字的作用域有二种:
1是某个对象实例内,synchronized aMethod({}可以防止多个线程同时访问这个 对象的synchronized方法(如果一个对象有多个 synchronized方法,只要一个线程访 问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个 synchronized方法。这时,不同的对象实例的sy
原创力文档

文档评论(0)