python 的串行和并行

import asyncio
import time

#串行
#asyncio.run()
async def say_after(delay, what):
    await asyncio.sleep(delay)
    print(what)
async def main():
    print(f"started at {time.strftime(‘%X‘)}")
    await say_after(2, ‘hello‘)
    await say_after(1, ‘world‘)
    print(f"finished at {time.strftime(‘%X‘)}")
asyncio.run(main())

#并行
#asyncio.create_task()
async def say_after(delay, what):
    await asyncio.sleep(delay)
    print(what)
async def main():
    task1 = asyncio.create_task(
        say_after(2, ‘hello‘))
    task2 = asyncio.create_task(
        say_after(1, ‘world‘))
    print(f"started at {time.strftime(‘%X‘)}")
    # Wait until both tasks are completed (should take # around 2 seconds.)
    await task1
    await task2
    print(f"finished at {time.strftime(‘%X‘)}")
asyncio.run(main())

输出

started at 19:20:48
hello
world
finished at 19:20:51
started at 19:20:51
world
hello
finished at 19:20:53

原文地址:https://www.cnblogs.com/sea-stream/p/12163304.html

时间: 2024-11-16 05:49:03

python 的串行和并行的相关文章

iOS多线程——同步异步串行并行

串行并行异步同步的概念很容易让人混淆,关于这几个概念我在第一篇GCD中有解释,但是还不够清晰,所以这里重写一篇博客专门对这几个概念进行区分: 先说一下队列和任务: (1)队列分为串行和并行,任务的执行分为同步和异步,异步是多线程的代名词,异步在实际引用中会开启新的线程,执行耗时操作. (2)队列只是负责任务的调度,而不负责任务的执行,任务是在线程中执行. 以上两点对了解串行.并行.同步.异步非常重要! 再说一下队列和任务的特点: (1)串行队列:任务按照顺序被调度,前一个任务不执行完毕,队列不会

【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例(转载)

(1)GCD实现的同步异步.串行并行. ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等耗时间的任务 /** * 因为是异步,所以开通了子线程,但是因为是串行队列,所以只需要开通1个子线程(2),它们在子线程中顺序执行.最常用. */ -(void)gcdDemo1{ dispatch_queue_t q1=dispatch_queue_create("com.hellocation.gcdDemo", DISPATCH_QUEUE_SERIAL); for

GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例

转:http://www.tuicool.com/articles/NVVnMn (1)GCD实现的同步异步.串行并行. ——同步sync应用场景:用户登录,利用阻塞 ——串行异步应用场景:下载等耗时间的任务 /** * 因为是异步,所以开通了子线程,但是因为是串行队列,所以只需要开通1个子线程(2),它们在子线程中顺序执行.最常用. */ -(void)gcdDemo1{ dispatch_queue_t q1=dispatch_queue_create("com.hellocation.gc

FS BPM 业余研发(用户详细操作手册--单人串行/并行)之 深圳分公司技术部请假审批流程

1.FS BPM 简介 BPM软件中BPM是英文字母缩写,大致有二个意思.第一.Business Process Management,即业务流程管理,是一套达成企业各种业 务环节整合的全面管理模式.第二.Business Process Modeling,即业务流程建模,是对业务流程进行表述的方式,它是过程分析与重组的 重要基础. 如果再不了解请自行百度了,本人在这里就不再详细介绍了. 2.FS BPM 系统开发介绍 FS BPM于2017年1月开始进行开发.其中经历多个难题.用高性能机制解决

Oracle并行操作——从串行到并行(转)

并行(Parallel)操作特性,是Oracle为更充分利用服务器硬件处理资源,提高特定大数据量操作效率,应对海量生产数据而推出的一种技术特性.通常,我们进行的SQL处理都是单进程操作,对应单个CPU操作单元.所谓的并行操作,就是在软硬件条件允许的情况下,Oracle调用多个处理单元分别进行处理,最后汇合结果的过程.对一些SQL进行有计划的并行操作,可以显著提高系统操作速度. 1.海量数据的困局 互联网络时代给世界带来很多变化,其中一项就是信息的爆炸,数据呈几何级数增长.数据库随之进入海量.洋级

Python面试简介及并行并发

今天的分享内容大体如下: 一. 面试 1. 什么是面试 2. 优秀的面试 二. Python综述 1. Python设计哲学及版本变迁 2. Python发展现状及其他语言使用场景 3. GIL 4. 内存管理和垃圾回收 5. 面试示例 三.并发并行 1. 进程 2. 线程 3. 协程 4. 并发编程 一. 面试 什么是面试 面:当面/面谈/面聊, 试:考试,当前社会上各大企业和公司招人环节中最重要的一道流程关卡:目前面试已经衍生了多种操作形式:直面.电面.视频面.在线coding: 一轮面试的

IOS多线程知识总结/队列概念/GCD/串行/并行/同步/异步

进程:正在进行中的程序被称为进程,负责程序运行的内存分配;每一个进程都有自己独立的虚拟内存空间: 线程:线程是进程中一个独立的执行路径(控制单元);一个进程中至少包含一条线程,即主线程. 队列:dispatch_queue_t,一种先进先出的数据结构,线程的创建和回收不需要程序员操作,由队列负责. 串行队列:队列中的任务只会顺序执行(类似跑步) dispatch_queue_t q = dispatch_queue_create(“....”, dispatch_queue_serial); 并

iOS中的串行,并行,分组,一次,障碍,延迟,反复执行(GCD)

#import "OneViewController.h" @interface OneViewController () @end @implementation OneViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. } - (void)didReceiveMemoryWarning { [super didRece

iOS 之GCD串行和并发队列的理解

dispatch_queue_t serialQueue = dispatch_queue_create("com.lai.www", DISPATCH_QUEUE_SERIAL); dispatch_async(serialQueue, ^{ // NSLog(@"1"); sleep(3); NSLog(@"1"); }); dispatch_sync(serialQueue, ^{ sleep(1); NSLog(@"2"