java多线程学习(1)

    5月2号就开始学习多线程的知识点了,到现在也20天了,虽然每天只有那么一两个小时,尽管也在写日记来记录,但还是得整理整理,再次理解理解。

一开始就将一个类设计成线程安全的,比在后期重新修复它更容易

一.线程生命周期

   1.新建状态

    2.就绪状态

    3.运行状态

    4.阻塞状态

    5.死亡状态

二.一些基础概念

    java中首要的同步机制是Synchronized关键字,他提供独占锁。除此之外,术语‘同步’还包括volatile变量,显示锁和原子变量的使用。
    独占锁:悲观锁,只允许一个线程加锁,资源可读写。
    共享锁:乐观锁,允许多个线程加锁,资源可被多个读操作访问,可被一个写操作访问,但两者不能同时进行。
    java强制原子性内置锁机制:Synchronized块。其包含两个部分:锁对象的引用,这个锁保护的代码块。
    重进入:当一个线程请求其他线程已经占有的锁时,请求线程会被阻塞。然而 java 的内部锁 synchronized 是可重进入的,因此线程在试图获得它自己占有的锁时,请求会成功。
    加锁可保证原子性和可见性,volatile只能保证可见性。
    使用volatile标准:
        a.写入变量时并不依赖变量的当前值;或者能确保只有单一的现成修改变量的值
        b.变量不需要与其他的状态变量共同参与不变约束
        c.访问变量时,没有其他的原因需要加锁

《并发编程》这个分类下的博客,学习路线是参照《Java并发编程实践》,同时参考了网上的众多博客,文档等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值