zoukankan      html  css  js  c++  java
  • 并发和并行程序的理解?

    concurrent and paraller programming

    并发

    并发,对于单个 CPU 的操作系统在进行多线程操作时,将 CPU 运行时间划分成若干个时间段,再将时间段分配给各个线程执行,
    在一个时间段内只运行一个线程,其它线程处于挂起状态。

    并行

    并行,对于多 CPU 系统执行多线程操作时,一个 CPU 在执行一个线程时,另一个 CPU 执行另一个线程,两个线程互不强 CPU 资源,可o以同时进行。

    A、B、C 三个线程在一个时间段内分时并发执行

    C  |      ===      ===             
    B  |   ===      ===                                                              
    A  |===      ===                                                                
       |——————————————————————————————>                                            
    

    A、B、C 三个线程在一个时间段内同时并行执行

    C  |===========================
    B  |===========================
    A  |===========================
       |——————————————————————————————>                                            
    
    • 并发是一个 CPU 分时(轮流)处理多个任务
    • 并行是多个 CPU 同时处理多个任务

    QPS 和 TPS

    并行,多个 CPU 或者多台机器同时执行一段处理逻辑,是真正的同时。

    并发,通过 CPU 调度算法,让用户看上去同时执行,实际从 CPU 操作层面上看不是真正的同时。
    并发场景往往有共用的资源,那么针对这个公共资源往往产生瓶颈,我们会用 QPS 和 TPS 来反应这个系统的处理能力。

    QPS

    Queries Per Second “每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定所处理流量多少的衡量标准。

    TPS

    Transiation Per Second “每秒处理事务数”,它是软件测试结果的测量单位。

    一个事务是指一个客户机向服务器发送请求,然后服务器做出响应的过程。客户机在发送请求是开始计时,收到服务器响应后结束计时,以此来计算使用的时间和完成的事务个数。

    作者:PP杰

    出处:http://www.cnblogs.com/newber/

    博学之,审问之,慎思之,明辨之,笃行之。

  • 相关阅读:
    [CSP-S模拟测试]:attack(支配树+LCA+bitset)
    [杂题]:C/c(二分答案)
    [杂题]:B/b(二分答案)
    二维莫队(离线)
    [CSP-S模拟测试]:联盟(搜索+树的直径)
    [CSP-S模拟测试]:蔬菜(二维莫队)
    [CSP-S模拟测试]:施工(DP+单调栈+前缀和)
    [CSP-S模拟测试]:画作(BFS+数学)
    [CSP-S模拟测试]:折射(DP)
    [CSP-S模拟测试]:养花(分块)
  • 原文地址:https://www.cnblogs.com/newber/p/14540889.html
Copyright © 2011-2022 走看看