并行执行、串行执行和并发执行

并发执行是多道程序系统中多个程序(逻辑上互相独立)或者一个程序中的多个程序段在执行的过程当中,时间互相重叠,一个程序执行没结束,另一个已经开始。

并行执行是指一组程序按照独立的,不同步的速度执行,时间上不重叠;
串行就是指令一个一个的执行。并行是指令同时并行执行。

总结:  并发是指多个线程轮流执行(单核CPU);  并行是指多个线程同时执行(多核CPU),微观上是同时的;  串行是指一个一个的执行,处理完一个才能处理下一个,不轮换;

原文地址:https://www.cnblogs.com/feixian-blog/p/8850273.html

时间: 2024-11-08 13:13:53

并行执行、串行执行和并发执行的相关文章

ios多线程操作(五)—— GCD串行队列与并发队列

GCD的队列可以分为2大类型,分别为串行队列和并发队列 串行队列(Serial Dispatch Queue): 一次只调度一个任务,队列中的任务一个接着一个地执行(一个任务执行完毕后,再执行下一个任务) 创建一个队列 dispatch_queue_t q = dispatch_queue_create(const char *label, dispatch_queue_attr_t attr) 参数: const char *label:队列的名称 dispatch_queue_attr_t

GCD编程-串行队列与并发队列

接着上面的GCD封装,以下进行列子验证 1.导入GCD.h 2.创一个串行队列: - (void)serailQueue{ //创建出队列 GCDQueue *queue =  [[GCDQueue alloc]initSerial]; //运行队列中的线程 [queue execute:^{ NSLog(@"1"); }]; [queue execute:^{ NSLog(@"2"); }]; [queue execute:^{ NSLog(@"3&qu

串行队列和并发队列的选择

-并发队列,开多个线程,并发的效率高! 好处:快,用户交互好! 坏处:"费电",如果用户在wifi环境! -串行队列,开一个线程,效率不高 好处:省电,有的时候,用户不希望太快!3G-省钱 坏处:慢,效率不高! 网络框架,需要考虑用户的网络环境!针对用户的网络环境有选择的决定开辟线程的数量! 线程数量如何选择: 3G:        2~3条 Wi-Fi:     6条

进程管理顺序执行和并发执行

一.引言 在传统的操作系统中,程序并不能独立运行,作为资源分配和独立运行的基本单位都是进程.操作系统所具有的四大特征也都是基于进程而形成的,并可从进程的观点来研究操作系统.显然,在操作系统中,进程是一个极其重要的概念. 二.程序的顺序执行及其特征 顺序执行:通常可以把一个应用程序分成若干个程序段,在各程序段之间,必须按照某种先后次序顺序执行,仅当前一操作(程序段)执行完后,才能执行后继操作. 2. 1 程序顺序执行时的特征 (1) 顺序性:处理机的操作严格按照程序所规定的顺序执行,即每一操作必须

串行,并行,并发

我们先来了解一下几个概念 串行 在串行的概念中会有两个概念 1.串行(serial)与并行(parallel)相对应,是指的我们从事某项工作时一个步骤一个步骤的去实施. 2.指串行通信.串行通信是指 使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度.  当中通信中串行和并行的话,又存在多路复用情况多路复用是指以同一传输媒质(线路)承载多路信号进行通信的方式.各路信号在送往传输媒质以前,需按一定的规则进行调制,以利于各路已调信号在媒质中传输,并不致混淆,从而在传到对方时使

002-Shell的并发执行原理及其实现

1.正常执行 如果是多个命令执行的话,默认是串行执行的.如果前面的一个任务没有执行完成,后面的任务就无法执行,即不可能将指令置于CPU上执行. sleep 10 后台执行.Default模式下,shell命令是阻塞执行的,可以通过其后添加&让这条命令异步执行,如: sleep 10 & 执行这条命令后,并不会阻塞10秒,而是立即返回. 2.并行执行 注意:这里的并行执行如果是单核CPU的话,实际上指的是并发执行.并发执行是具备并行执行的前提因素. 如果将这种方法用在while循环中,则可以

同步,异步,串行队列,并发队列,全局队列,主队列等概念的总结

同步,异步,串行队列,并发队列,全局队列,主队列等概念的总结 在GCD函数中, 我们常常碰到同步,异步,串行队列,并发队列,全局队列,主队列等概念,而这些概念又常常组合在一起, 十分头疼, 这篇文章就来梳理一下这些烦人的概念. 不想看长篇大论的, 直接看文章末尾的表格即可! 在此之前, GCD中还涉及到两个十分重要的概念, 就是任务和队列 任务(Task): 你需要执行的操作 队列(Queue): 存放任务的容器 GCD中两个重要的函数, 一个同步执行, 一个异步执行 dispatch_asyn

《iOS面试之道》-“串行队列的代码实战” 勘误

一.原书第一版154页开始讲解串行队列.并发队列.以及在Dispatch_Async.Dispatch_Sync下面的作用 最后一段代码: if(_q == NULL) { _q = dispatch_queue_create("SerialQueue", DISPATCH_QUEUE_SERIAL); } NSMutableString *str = [[NSMutableString alloc] init]; [str appendString:@"1"];

oracle中并行执行不一定比串行执行快

并行执行与串行执行相比,能否缩短执行时间,取决于如下几个方面:1.待执行的目标SQL是否适合并行执行,有些SQL是不太适合并行执行的,比如走索引的嵌套循环连接.2.数据库服务器上的硬件资源(如CPU.内存.I/O等)是否还有富余.3.并行执行时,是否最大化地利用了数据库服务器上的硬件资源(但同时又不能使数据库服务器上的硬件资源消耗殆尽).4.待执行的目标SQL的并行执行计划是否为当前情形下的最优执行计划. 原文地址:https://www.cnblogs.com/qinjf/p/8414654.