多线程(2)

同步 方法
public synchronized void add(){
//代码块
}

synchronized(syncObject){//一般写一个不可变的对象,同步的对象,this
//需要同步的diamagnetic
}
//syncObject修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号括起来
//修饰一个方法,被修饰的方法称为同步方法,其作用范围是整个方法
//修饰一个静态方法,其作用范围是整个静态方法
//修饰一个类,其作用的范围是synchronized后面括号括起来的部分是一个对象,其作用部分是这个类的所有对象

1.在定义接口方法时不能使用synchronized
2.构造方法不能使用synchronized

Hashtable && HashMap
Hashtable:
继承关系:
实现了Map接口,Hashtable继承Dictionary类
线程安全,效率低
键和值都不允许为null
HashMap:
继承关系:
实现了Map接口,继承AbstractMap类
非线程安全
StringBuffer安全的,StringBuilder不安全

猜你喜欢

转载自blog.csdn.net/qq_42844262/article/details/81453942