zoukankan      html  css  js  c++  java
  • 线程之间的通信

    一、为什么要线程通信?

    1. 多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,

       并且我们希望他们有规律的执行, 那么多线程之间需要一些协调通信,以此来帮我们达到多线程共同操作一份数据

    2.当然如果我们没有使用线程通信来使用多线程共同操作同一份数据的话,虽然可以实现,

      但是在很大程度会造成多线程之间对同一共享变量的争夺,那样的话势必为造成很多错误和损失!

    3.所以,我们才引出了线程之间的通信,多线程之间的通信能够避免对同一共享变量的争夺。

    二、什么是线程通信?

      多个线程在处理同一个资源,并且任务不同时,需要线程通信来帮助解决线程之间对同一个变量的使用或操作

         就是多个线程在操作同一份数据时, 避免对同一共享变量的争夺

      于是我们引出了等待唤醒机制:(wait()notify()

      就是在一个线程进行了规定操作后,就进入等待状态(wait), 等待其他线程执行完他们的指定代码过后 再将其唤醒(notify);

  • 相关阅读:
    zookeeper安装(linux)
    rabbitmq安装(linux)遇到 很多坑
    关于mysql数据库连接异常处理
    git放弃修改&放弃增加文件
    git使用常见问题
    base64字符串转化成图片
    Block小结
    关闭selinux
    Ctrl快捷键和vim快捷键
    正则表达式扩展正则
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/12655449.html
Copyright © 2011-2022 走看看