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

    一、为什么要线程通信?

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

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

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

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

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

    二、什么是线程通信?

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

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

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

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

  • 相关阅读:
    poj 3621(最优比率环)
    bzoj 1497(最大权闭合子图)
    Dinic(模板 再错是不可能的 这辈子都不可能了)
    BZOJ 2038
    zoj 3822(概率dp)
    poj 3683(2-sat+拓扑排序)
    poj 2186(tarjan+缩点)
    hdu 5782(kmp+hash)
    hdu 6035(树形dp)
    Python爬取房屋租售信息
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/12655449.html
Copyright © 2011-2022 走看看