1 多线程中: 加锁的位置(层级不对) 代码片段--方法---对象-----类--
2 避免一个同步块的东西去读取另一个同步块,会造成死锁
synchronized(){
xxxxx
}
3 同步代码块synchronized代码块不使用String常量作为锁对象,而采用其他,因为string常量池问题
4 同一个线程不能启动两次
5 多线程中,要理清楚那些对象存在多个线程共用的情况,(特别注意传对象的引用)
1 多线程中: 加锁的位置(层级不对) 代码片段--方法---对象-----类--
2 避免一个同步块的东西去读取另一个同步块,会造成死锁
synchronized(){
xxxxx
}
3 同步代码块synchronized代码块不使用String常量作为锁对象,而采用其他,因为string常量池问题
4 同一个线程不能启动两次
5 多线程中,要理清楚那些对象存在多个线程共用的情况,(特别注意传对象的引用)