美文网首页
Java并发和并行

Java并发和并行

作者: iwtbam | 来源:发表于2020-01-29 22:12 被阅读0次
    1. Java线程的创建和运行
    2. Java 线程的几种状态
    • NEW:初始状态,线程被构建,但是还没有调用start()方法
    • RUNABLE: 运行状态,Java 线程将3.操作系统中的就绪和运行两种状态笼统称作“运行中”
    • BLOCKED: 阻塞状态,表示线程阻塞于锁。
    • WAITING: 等待状态, 进入该状态表示当前线程需要等待其他线程做出一些特定动作(通知或中断)
    • TIME_WAITING: 超时等待状态,该状态不同于WAITING, 它是可以在指定时间自行返回的
    • TERMINATED: 终止状态
      Java线程状态变迁图
    3. 死锁
    1. 互斥条件
    2. 请求与保持条件
    3. 不剥夺条件
    4. 循环等待条件
    4.synchronized
    • 修饰对象
      • 实例方法:作用于当前对象的锁,进入同步代码块会获取当前对象的实例的锁
      • 静态方法:作用于当前类的锁,会作用于该类所有的实例。
      • 代码块: 作用于指定的对象。
    • 实现原理
      • 修改代码块:利用 monitorentermonitorexit
      • 修饰方法:利用ACC_SYNCHRONIZED标识修饰方法,告诉JVM这是一个同步方法。
    • synchronized优化手段
      锁的几种状态:无锁状态偏向锁状态轻量级锁状态重量级锁状态
      优化手段:锁消除锁粗化偏向锁轻量级锁自旋锁适应性自旋锁

    相关文章

      网友评论

          本文标题:Java并发和并行

          本文链接:https://www.haomeiwen.com/subject/eedbthtx.html