240 发简信
  • 9.阻塞队列和线程池

    阻塞队列 特性 队列是空的时候,从队列获取元素的操作会被阻塞 队列是满的时候,往队列添加元素的操作会被阻塞 实现 线程池 定义 把并发任务传递给...

  • 8. Java的Lock锁

    Lock和synchronized同步块一样,是线程的同步机制,而且锁是由synchronized同步块的方式进行实现的。 一个简单的锁实现 w...

  • 7. 嵌套管程锁死&Slipped Condition

    场景介绍 lock()方法在this上同步,然后在monitorObject上同步。如果isLocked为true,调用lock()方法的线程会...

  • 6.饥饿和公平

    饥饿 如果一个线程因为CPU时间全部被其他线程抢走而得不到CPU运行时间,这种状态被称之为“饥饿”。 导致饥饿的原因 高优先级线程吞噬所有的低优...

  • 5. 死锁

    线程死锁 死锁是两个或更多线程阻塞着等待其它处于死锁状态的线程所持有的锁。死锁通常发生在多个线程同时但以不同的顺序请求同一组锁的时候。 如果ch...

  • 120
    4. Java线程通讯

    Busy Wait 一个线程间相互通信的方法是使用线程间共享对象的一个变量进行通信。 线程B等待线程A将hasDataToProcess的值设置...

  • 120
    3. Java多线程同步

    Java Synchronized 块 Synchronized块是用来解决race condition。Synchronized块是基于对象,...

  • 120
    2. Java内存模型

    Java内存模型指定了JVM和计算机内存是如何进行协作 Java内存模型的原理 Java内存被分为线程栈和堆栈:JVM中的每个线程拥有一个自己的...

  • 120
    1. Java多线程基本概念

    多线程的优点 资源利用率更好(等待IO的时间) 程序设计在某些情况下更简单(一个线程对应一个任务) 程序相应更快(不用实时去相应) 多线程的代价...