美文网首页
5.线程间通信,等待唤醒机制

5.线程间通信,等待唤醒机制

作者: yanghx | 来源:发表于2019-02-26 23:21 被阅读0次

    线程间通信

    image.png
    线程间通信:
     多个线程在处理同一资源,但是任务不同
    
    多个线程虽然任务不同。但是他们要使用同一个锁。这样才能让两个线程同步。 称为通信   
    

    等待唤醒机制

    1. wati():让线程处于冻结状态。被wati的线程会被放入线程池中
    2. notify():唤醒线程池中的一个线程(任意)
    3. notifyAll():唤醒线程池中的所有线程

    这些方法都必须订单在同步中。
    因为这些方法都是用于操作线程状态的方法。
    必须要明确到底操作的是那个锁上的线程。


    image.png

    为什么操作线程的方法wait(),notify(), notifyAll() 定义在了object类中

    • 因为这些方法是监视器的方法。 监视器其实就是锁。 锁可以是任意对象。任意对象调用的方式一定定义在object类中。
    image.png

    理论上说。 一个锁对应一个线程池

    • 每一个wait操作都是一个锁将某个线程冻结,并将线程放到这个锁的线程池中。

    相关文章

      网友评论

          本文标题:5.线程间通信,等待唤醒机制

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