多线程编程之串行,并发,并行

串行,并发,并行

    假设有事件A,B,C。A耗时15小时,投入5小时,等待10小时,B耗时10小时,投入2小时,等待8小时,

 C耗时10小时,投入10小时。有3,中处理事情的方式。

    

      串行:事件A,B,C逐个逐个执行。(需要投入1个人)

      并行:事件A,B,C一起同时执行。(需要投入3个人)

      并发:A等待的时候做B,B等待的时候做C。(需要投入一个人)

分析:

    软件角度:

        并发指某个软件在某段时间内以交替的方式去完成多个任务,而并行是多个软件以齐头并进的方式去完成多个任务。

    硬件角度:

        并发可以理解为一个处理器采用时间片分配的技术处理多个任务,而并行是多个处理器同时处理多个任务。

      多线程编程的实质就是将任务的处理方式由串行改为并发,实现并发化,有的任务可以改变的就叫可并发化。

原文地址:https://www.cnblogs.com/goxcheer/p/9299181.html