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

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位)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值