首页 > 编程语言 >python实现并发

python实现并发

时间:2024-10-20 21:33:17浏览次数:7  
标签:concurrent start python 并发 time print world hello 实现

1.多线程

# -*- coding: utf-8 -*-
import threading
import time


def print_hello_world():
    print("hello-world")


def concurrent_hello_world(n):
    threads = []
    # 记录开始时间
    start_time = time.time()

    # 创建并启动多个线程
    for _ in range(n):
        thread = threading.Thread(target=print_hello_world)
        threads.append(thread)
        thread.start()

    # 等待所有线程执行完毕
    for thread in threads:
        thread.join()

    # 记录结束时间
    end_time = time.time()
    print(f"Total time taken: {end_time - start_time:.6f} seconds")


concurrent_hello_world(10)

2.线程池

# -*- coding: utf-8 -*-
import time
from concurrent.futures import ThreadPoolExecutor


def print_hello_world():
    print("hello-world")


def concurrent_hello_world(n):
    # 记录开始时间
    start_time = time.time()

    with ThreadPoolExecutor(max_workers=n) as executor:
        # 提交多次打印任务并等待任务完成
        executor.map(lambda _: print_hello_world(), range(n))

    # 记录结束时间
    end_time = time.time()
    print(f"Total time taken: {end_time - start_time:.6f} seconds")


concurrent_hello_world(10)

3.异步任务

# -*- coding: utf-8 -*-
import asyncio
import time


async def print_hello_world():
    print("hello-world")


async def concurrent_hello_world(n):
    # 记录开始时间
    start_time = time.time()

    # 并发执行多个异步任务
    tasks = [print_hello_world() for _ in range(n)]
    await asyncio.gather(*tasks)

    # 记录结束时间
    end_time = time.time()
    print(f"Total time taken: {end_time - start_time:.6f} seconds")


# 运行异步任务
asyncio.run(concurrent_hello_world(10))

标签:concurrent,start,python,并发,time,print,world,hello,实现
From: https://www.cnblogs.com/test-works/p/18487955

相关文章

  • 10.18Python基础迭代器生成器_函数式编程
    Python迭代器与生成器1.迭代器Iterator什么是迭代器迭代器是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器可以重复使用,而不会像列表那样在迭代时被修改。迭代器函数iter和next函数说明iter(iterable)从可迭代对象中返回一个迭代器,iterabl......
  • 项目解决方案:大型赛事视频监控接入汇聚管理系统技术实现方案
    目录一.项目背景1.1背景描述1.2需求分析二.设计原则和建设目标2.1设计原则2.2建设目标三.系统设计实现3.1系统方案设计3.2网络拓扑说明四.产品介绍4.1概述4.2设备接入4.2.1内部设备接入4.2.2外部设备接入4.2.3级联上级平台4.3视频资源管理4.4视频观看4.4.1客......
  • Python进阶3
    python迭代器与生成器1.迭代器        在Python中,迭代器(Iterator)是一种对象,它表示一个数据流,允许你一次访问一个元素,直到数据流结束。迭代器对象实现了两个特殊方法:__iter__() 和 __next__()。__iter__() 方法:返回迭代器对象本身。这通常用于使对象既是可迭代的(i......
  • 使用Dlib库实现疲劳检测
    目录前言一、完整代码二、代码步骤解析1.计算眼睛纵横比2.向图片中添加中文3.绘制凸包 4.打开摄像头读取每一帧画面进行处理前言        使用dlib库进行疲劳检测通常涉及人脸特征点检测和分析眼部特征(如眨眼率、眼睛开合程度等)。通过观察这些特征,可以推测......
  • jsp服饰销售系统的设计与实现wyi1q(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表用户,服饰类别,后台客服,服饰信息开题报告内容一、课题名称服饰销售系统设计与实现二、研究背景与意义随着电子商务的蓬勃发展,服饰行业对高效、智能的销售管......
  • 基于node.js+vue基于Android的早教机构服务系统设计与实现(开题+程序+论文)计算机毕业设
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景随着社会发展,早教越来越受到重视。在国内外,关于早教机构管理与服务方面已有诸多研究。国外早教机构在服务系统的信息化建设方面较为先进,多注重借助现代......
  • 7-1 栈实现回文
    题目描述:输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。(不含空格)输入格式:先输入字符串的长度,不超过100个字符长度,回车,然后依次输入字符,以回车结束字符串输入。输出格式:如果输入字符串中含空格,则输入字符串后回车,显......
  • cuda core实现两个128x128 float矩阵乘法demo
    #include<stdio.h>#include<cuda_runtime.h>//128x128->__global__voidmm(float*a,float*b,float*c){//8x8个方块,每个方块16x16extern__shared__floatbuf[];float*a_local=buf;float*b_local=buf+16*128;for(inti=......
  • 人脸识别系统Python深度学习opencv人工智能Keras Tensorflow源码
    项目描述基于opencv,Keras,Tensorflow的人脸识别安装好Anaconda,否则很多科学计算的库要手动安装很麻烦安装好TensorFlow,下面是最简便的方法(但是安装的是cpu版本,但速度相对于GPU版的稍微慢#安装TensorFlowcpu版pipinstalltensorflow#安装keras框架pipinstallkeras#安......
  • 无锡哲讯携手SAP思爱普,引领企业实现数字化转型
     在数字化时代,企业如同航行在浩瀚大海中的船只,需要先进的导航系统来指引方向。SAP思爱普,作为全球领先的企业资源规划解决方案提供商,正扮演着这样的角色。  数字化转型的挑战与机遇 随着云计算、大数据、物联网等技术的飞速发展,数字化转型已成为企业提升竞争力的关键。SAP......