您的位置:首页 > 编程语言 > Java开发

Java并发编程实践笔记 第一部分 基础知识 第二章 线程安全性

2016-11-16 17:03 579 查看
1.被多个线程调用的类,无论任何执行顺序总是能表现出正确的结果的类称之为线程安全类

2.无状态的类是线程安全的(没有变量的类是安全的)

3.如果要实现计数器或者 唯一ID生成器可以使用atomic包下的类



4.重入:当线程调用子类的同步方法时,该方法调用父类的同步方法是可以的




5.如果盲目的对函数进行synchornized,会减低程序的性能




6.竞态条件是指多个线程或进程在共享数据时,最终结果依赖于执行顺序




7.当使用锁同步策略时 一定要先保证其安全性,再在简单性以及性能中找平衡方案




8.当需要同步的代码块中,有很耗时以及可能出现死循环的代码,尽量不要用锁




9.原子性:即一个操作或者多个操作 要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。
对基础变量的赋值是原子性的
int a=1;
int x=a;
a++;只有a=1是原子性操作 x=a需要两步取出a的值 赋值给x a++需要散步取出a的值 进行+1 然后赋值给a(64位的如double,long在之前的jdk中在32位系统中赋值也不是原子性的,先赋值32位后赋值32位)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: