zoukankan      html  css  js  c++  java
  • 同步编程与异步编程

    一:并发的概念

    当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时执行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。这种方式我们称之为并发(Concurrent)。

    二:并行的概念

    当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

    三:异步编程

    异步编程的原则是,让进程处理多个并发执行的上下文来模拟并行处理方式 。

    异步应用使用一个事件循环,当一个事件触发暂停或恢复执行上下文:只有一个上下文处于活动状态,上下文之间进行轮替,代码中的显示指令告诉事件循环,哪里可以暂停执行,这时,进程将查找其他待处理的线程进行恢复,最终,进程将回到函数暂停的地方继续运行,从一个执行上下文移到另一个上下文称为切换

    四:同步编程

    # TODO

  • 相关阅读:
    MySQL-MMM方案
    MySQL双主复制
    MySQL主从复制
    Keepalived实现高可用
    CentOS7.2 部署Haproxy 1.7.2
    博客园写随笔时用数学公式
    Java中有三种移位运算符
    VS Code配置C/C++环境
    Visual Studio Code 如何编写运行 C、C++ 程序?
    头一次知道“原地算法”?!
  • 原文地址:https://www.cnblogs.com/meloncodezhang/p/12115142.html
Copyright © 2011-2022 走看看