当前位置: 首页 > news >正文

韩版做哪个网站好做视频网站要多大的带宽

韩版做哪个网站好,做视频网站要多大的带宽,长沙招聘网最新招聘信息,百度联盟的网站怎么做1. 异步编程 异步编程是一种编程范式#xff0c;用于处理程序中需要等待异步操作完成后才能继续执行的情况。异步编程允许程序在执行耗时的操作时不被阻塞#xff0c;而是在等待操作完成时继续执行其他任务。这对于处理诸如文件 I/O、网络请求、定时器等需要等待的操作非常有…1. 异步编程 异步编程是一种编程范式用于处理程序中需要等待异步操作完成后才能继续执行的情况。异步编程允许程序在执行耗时的操作时不被阻塞而是在等待操作完成时继续执行其他任务。这对于处理诸如文件 I/O、网络请求、定时器等需要等待的操作非常有用。 使用异步编程通常可以带来以下好处 提高程序效率和性能异步编程使得程序在执行耗时的 I/O 操作如网络请求、文件读写、数据库查询等时不会被阻塞减少了等待时间充分利用了系统资源。改善用户体验在 Web 开发中异步编程可以确保服务器在处理大量并发请求时能够快速地响应用户从而提高了 Web 应用的响应速度和用户体验。 2 async/await和asyncio包 2.1 异步函数的定义 在Python中实现异步函数的定义需要两个关键字(async和await)。 asyncasync关键字声明一个异步函数。它可以在执行过程中暂停并允许其他代码执行。当你调用一个异步函数时它会立即返回一个协程对象而不是实际的结果。异步函数适用于执行耗时的I/O操作例如网络请求、文件读写、数据库查询等。这些操作通常涉及到等待外部资源的响应或者数据的传输而在等待的过程中CPU可以执行其他任务从而提高程序的效率。awaitawait关键字在 Python 中用于等待一个异步操作完成。当调用异步函数时使用await关键字可以暂时挂起当前的异步函数的执行将CPU控制权还给事件循环(Event Loop)。接着事件循环可以将执行权转移到其他任务上而不是一直等待当前的异步函数完成。当被await的异步操作完成后事件循环会通知原来的异步函数使得它可以继续执行后续的操作。 在Python中异步函数的定义需要同时满足以下两个条件 使用async def关键字声明函数。函数内部包含异步操作并且使用了await关键字等待异步操作完成。如果一个函数中只使用了async def声明但其中任何异步操作也没有使用await关键字那么它实际上就是一个普通的同步函数而不是一个异步函数。 2.2 事件循环 事件循环(Event Loop)是异步编程中负责管理和调度异步任务执行的机制。事件循环的工作原理类似于一个持续运行的循环它在每一轮循环中都会执行以下几个步骤 等待任务就绪: 事件循环会等待所有注册的异步任务就绪包括等待 I/O 操作完成、等待计时器超时等。选择就绪任务一旦有任务就绪事件循环会选择其中一个任务进行执行。执行任务事件循环会执行所选择的就绪任务直到任务完成或者遇到await关键字需要暂时挂起任务的执行。挂起任务如果任务遇到await关键字它会将控制权交还给事件循环并等待 await后面的异步操作完成。继续执行其他任务在等待await的异步操作完成的过程中事件循环会继续执行其他就绪的任务从而实现了并发执行的效果。异步操作完成 当一个 await 后面的异步操作完成后事件循环会通知原来的任务使得它可以继续执行后续的操作。 2.2 asyncio包 asyncio包python中常用的异步编程框架这里使用该框架完成一个简单的异步编程案例具体如下 import time import datetime import asyncio async def async_read_file():print(async读文件开始:,datetime.datetime.fromtimestamp(time.time()))await asyncio.sleep(20)print(async读文件完成:,datetime.datetime.fromtimestamp(time.time()))def computer():print(普通计算密集型任务:,datetime.datetime.fromtimestamp(time.time()))sum0for i in range(1000000):if i%2500000 and i!0:print(普通计算密集型任务正在执行:,datetime.datetime.fromtimestamp(time.time()))for j in range(500):sumij-2*jprint(普通计算密集型任务完成:,datetime.datetime.fromtimestamp(time.time()))def computer2():print(普通CPU密集型任务:,datetime.datetime.fromtimestamp(time.time()))sum0for i in range(1000000):if i%2500000 and i!0:print(普通CPU密集型任务正在执行:,datetime.datetime.fromtimestamp(time.time()))for j in range(5000):sumij-2*jprint(普通CPU密集型任务完成:,datetime.datetime.fromtimestamp(time.time()))async def asy_main():taskloop.create_task(async_read_file()) # 创建一个任务,并添加到事件循环,等待执行task2loop.run_in_executor(None,computer)# 将普通函数read_file添加到事件循环中,等待执行task3loop.run_in_executor(None,computer2)# 将普通函数read_file2添加到事件循环中,等待执行await task3await task2await taskloopasyncio.get_event_loop() # 创建一个事件循环 loop.run_until_complete(asy_main())其执行结果如下 普通计算密集型任务: 2024-05-15 18:29:19.702689 普通CPU密集型任务: 2024-05-15 18:29:19.708280 async读文件开始: 2024-05-15 18:29:19.738654 普通计算密集型任务正在执行: 2024-05-15 18:29:21.441072 普通计算密集型任务正在执行: 2024-05-15 18:29:23.192585 普通计算密集型任务正在执行: 2024-05-15 18:29:24.936979 普通计算密集型任务完成: 2024-05-15 18:29:26.712930 普通CPU密集型任务正在执行: 2024-05-15 18:29:32.539679 async读文件完成: 2024-05-15 18:29:39.752731 普通CPU密集型任务正在执行: 2024-05-15 18:29:41.813872 普通CPU密集型任务正在执行: 2024-05-15 18:29:51.103737 普通CPU密集型任务完成: 2024-05-15 18:30:00.433402Tips:虽然当下的执行结果中写完成了computer()的计算后完成了computer2()的计算但多次执行上述程序的时候也出现了两个函数交替执行的结果。 参考资料 https://cloud.tencent.com/developer/article/1795692
http://www.hkea.cn/news/14559629/

相关文章:

  • 建设网站有哪些好处和坏处espresso wordpress函数
  • 详情页在线设计网站推荐学做网站看书会了吗
  • 南京网站建设 小程序网站制作公司哪里好
  • 全球首个完全响应式网站自助建设平台在中国诞生英文网站建设600
  • 松江区网站建设公司网站综合营销方案
  • dede cms 网站模板做网站 没内容
  • 医院网站建设趋势免费公司网址怎么注册
  • 网站建设与网页设计是什么意思广州招聘网
  • 搬家公司网站制作网站设计 电子购物网站设计
  • 南京学做网站公司设计网站需要包含什么资料
  • 网站收录下降一小时学做网站
  • 机票网站建设公司好成都网站建设顶呱呱
  • 网站建设价格差异好大网站失败后怎么重新建设
  • 弹幕网站开发阿里巴巴怎样做网站
  • 成立网站百姓网招聘信息最新招聘
  • 网站建设公司选择意见书wordpress自带的会员中心
  • 做火影网站背景图在线制作免费生成图片logo
  • 网站建设是什么专业啊软件公司排名100强
  • 网站服务器租用价格 贴吧江门网站建设推广策划
  • 郓城菏泽网站建设免费服务器主机
  • 在线做logo印章网站dw代码写完之后怎么运行网页
  • 给公司做的东西放到私人网站上宁夏百度推广代理商
  • wordpress能做手机站吗北京装修设计公司有哪些
  • 福建省龙岩市建设培训中心网站ps网页模板
  • 建设通查询设通网站凡客诚品官方网站
  • 腾讯网站备案专业合肥网站建设
  • 泰安中商网络做的网站怎么进入php网站开发思路
  • 想注册一个做网站的公司好怎么用源码建站
  • 北京教育云平台网站建设绍兴网页设计
  • 杭州做公司网站哪家好江苏安宜建设工程有限公司网站