zoukankan      html  css  js  c++  java
  • 线程间的通信、同步方式与进程间通信方式

    1.线程间的通信方式

    1)使用全局变量(由于多个线程可能更改全局变量,因此全局变量最好声明为volatile)

    2) 使用消息实现通信

     3)使用事件CEvent类实现线程间的通信

    2.同步/异步(C端)

    同步:在C端发出一个功能调用时,没有得到结果之前就不返回

    异步: 一个请求通过事件触发后,得到服务器处理后才处理完毕

    3. 阻塞/非阻塞(S端)

    阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起(线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行)。函数只有在得到结果之后才会返回。

    非阻塞:非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

    4.

    1.) 同步,就是我客户端(c端调用者)调用一个功能,该功能没有结束前,我(c端调用者)死等结果。
    2. )异步,就是我(c端调用者)调用一个功能,不需要知道该功能结果,该功能有结果后通知我(c端调用者)即回调通知。

    3.) 阻塞,      就是调用我(s端被调用者,函数),我(s端被调用者,函数)没有接收完数据或者没有得到结果之前,我不会返回。
    4. )非阻塞,  就是调用我(s端被调用者,函数),我(s端被调用者,函数)立即返回,通过select通知调用者

    同步IO和异步IO的区别就在于:数据访问的时候进程是否阻塞!

    阻塞IO和非阻塞IO的区别就在于:应用程序的调用是否立即返回!

  • 相关阅读:
    如何在Ubuntu 20.04 LTS Focal Fossa上安装Webmin
    如何在Linux服务器上创建一个具有管理权限的新用户?
    如何在Ubuntu 20.04 LTS上安装Apache Subversion
    error more than one devices and emulator
    深度学习+CRF解决NER问题
    word2vec训练&IC分词(待)
    tensorflow基础
    (转)pycharm快捷键
    Python包的相对导入时出现问题解决
    python工具使用笔记
  • 原文地址:https://www.cnblogs.com/zhaodun/p/7455694.html
Copyright © 2011-2022 走看看