美文网首页
线程之间如何进行通讯

线程之间如何进行通讯

作者: 健倾心语 | 来源:发表于2018-11-15 11:37 被阅读6次

什么是多线程之间的通讯

  • 多个线程对同一个资源(共享资源),每个线程对共享资源做的动作或者操作不同

  • 多线程通讯的生产者和消费者

    • 生产者线程(inputThread):叫做提供(发布)资源,做写的操作

    • 消费者线程(outThread):叫做利用(消费)资源,做读的操作

  • 线程安全问题
    可见性不具备原子性

  • 如何解决:让两个线程使用同一把锁

  • wait()与notify()的区别
    如何做到生产者生产一个,消费者消费一个?如果生产者没有任何生产,消费者不能读,消费者还没消费完,生产者不能进行生产

wait() :让当前线程从运行状态变为休眠状态,释放锁资源 需要notify唤醒
notify():让当前线程从休眠状态变为运行状态 缓冲 同步才能使用 (拿到锁)
sleep() :让当前线程从运行状态变为休眠状态,不释放资源 时间到了就唤醒

相关文章

网友评论

      本文标题:线程之间如何进行通讯

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