linux---并行Parallel 并发 串行 同步 异步

本文介绍了并发编程,重点讨论了并行Parallel、并发、串行以及同步和异步的区别。并行在微观上通过多CPU同时处理线程实现,而并发则是宏观上的多任务同时进行的假象。串行指任务依次执行,同步不允许开启新线程,而异步可以实现多任务并行。异步编程常借助多线程技术来实现。
摘要由CSDN通过智能技术生成

并发编程又叫多线程编程

在程序中,往往有很多很耗时的工作,比如上传文件、下载文件、跟客户聊天需要长时间建立连接。这种时候,一个线程是服务不了多个用户的,会产生因为资源独占产生的等待问题。并发的实质是一个物理CPU(也可以多个物理CPU) 在若干道程序之间的多路复用,并发性是对有限物理资源强制行使多用户共享以提高效率(买票问题并发进行)。
    并发当有多个线程在操作时,如果系统只有一个CPU,则它根本不可能真正同时进行一个以上的线程,它只能把CPU运行时间划分成若干个时间段,再将时间 段分配给各个线程执行,在一个时间段的线程代码运行时,其它线程处于挂起状。.这种方式我们称之为并发(Concurrent)。

并行Parallel:同时处理多个任务的能力。(微观上同时发生—多CPU同时处理各自线程)

并行的效率从代码层次上强依赖于多进程/多线程代码,从硬件角度上则依赖于多核CPU。

在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。(hadoop集群就是并行计算的)
    当系统有一个以上CPU时,则线程的操作有可能非并发。当一个CPU执行一个线程时,另一个CPU可以执行另一个线程,两个线程互不抢占CPU资源,可以同时进行,这种方式我们称之为并行(Parallel)。

并行性指两个或两个以上事件或活动在同一时刻发生。在多道程序环境下,并行性使多个程序同一时刻可在不同CPU上同时执行。

并发:(宏观概念)处理多个任务的能力(宏观上同时进行,一个或者多个CPU在若干道程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值