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

做的成功的地方网站百度做推广一般要多少钱

做的成功的地方网站,百度做推广一般要多少钱,黑龙江网站建设费用,无锡网站优化哪家好1、引言 asyncio 是 Python 标准库中的一个库,提供了对异步 I/O 、事件循环、协程和任务等异步编程模型的支持。 asyncio 文档 2、进程、线程、协程 线程 线程是操作系统调度的基本单位,同一个进程中的多个线程共享相同的内存空间。线程之间的切换由操…

1、引言

asyncio 是 Python 标准库中的一个库,提供了对异步 I/O 、事件循环、协程和任务等异步编程模型的支持。

asyncio 文档

2、进程、线程、协程

  • 线程

    线程是操作系统调度的基本单位,同一个进程中的多个线程共享相同的内存空间。线程之间的切换由操作系统内核负责。

    特点:共享同一资源空间,切换时有开销,但比进程小,适合 I/O 密集型任务,需要管理资源竞争问题。

  • 进程

    进程是操作系统资源分配的基本单位,每个进程有独立的内存空间,进程之间不能共享内存,需要通过进程间通信(IPC)。

    特点:任务完全独立,互不干扰,各自有自己的资源,切换时开销较大,适合 CPU 密集型任务。

  • 协程

    协程是由程序自身调度的函数,可以在执行过程中暂停和恢复,协程的切换由程序自身完成,而不是依赖操作系统。

    特点:单线程内管理多任务,没有线程切换的开销,适合 I/O 密集型任务,需要程序自己管理任务的切换。

3 、asyncio 的基本使用

3.1 异步函数 和 await

异步函数使用 async def 声明,await 关键字用于等待一个 异步操作完成。

代码案例

import asyncioasync def hello():print("Hello")await asyncio.sleep(2)print("World")asyncio.run(hello())

注意

  • async 声明后,不能直接 say_hello 运行函数
  • 现在运行还是会 等待 1s 后执行 print(“World”)
  • 协成本质上是事件循环。不是说用了 async await 就会成异步,是需要程序员自己定义任务有哪些协程的。

3.2 任务(Tasks)

任务用于调度和管理协程的执行。

代码示例

import asyncioasync def greet(name):print(f"Hello, {name}")await asyncio.sleep(2)print(f"GoodBye: {name}")async def main():task1 = asyncio.create_task(greet("Tom"))task2 = asyncio.create_task(greet("Jerry"))await task1await task2asyncio.run(main())"""
输出:
Hello, Tom
Hello, Jerry
GoodBye: Tom
GoodBye: Jerry
"""

4、本质

4.1 协程

协程是可以暂停和恢复的函数。与传统的函数不同,协程可以在执行过程中暂停,以便其他协程可以运行。Python 使用 async def 声明协程函数,使用 await 暂停协程的执行。

4.2 事件循环

事件循环是 asyncio 的核心,用于调度 和执行协程。事件循环负责处理异步函数、I/O 事件、定时器等。

4.3 任务 和 Future

任务是协程的高级抽象,用于调度协程的执行。Future 是表示异步操作结果的低级抽象,可以与任务一起使用。

5、高级使用

5.1 混合同步与异步IO

演示如何在异步环境中调用同步函数。

import asyncio# 同步函数
def sync_function():print("执行同步函数")# 异步函数
async def async_function():print("开始执行异步函数")await asyncio.sleep(2)  # 模拟异步操作print("异步函数执行完成")# 在异步环境中调用同步函数
async def main():loop = asyncio.get_event_loop()await loop.run_in_executor(None, sync_function)await async_function()asyncio.run(main())"""
输出
执行同步函数
开始执行异步函数
异步函数执行完成
"""

5.2 异步 I/O 中高级处理

import asyncioasync def my_async_function():try:await asyncio.wait_for(asyncio.sleep(5), timeout=3)except asyncio.TimeoutError:print("异步操作超时")asyncio.run(my_async_function())

5.3 异步I/O 中并发限制

有时候,为了避免资源耗尽,需要限制并发任务的数量。Asyncio提供了Semaphore来限制并发量。

asyncio.gather 是 Python 的 asyncio 模块中的一个函数,用于并发运行多个异步任务并收集它们的结果。它允许你将多个协程(或可等待对象)打包在一起,并并发地执行它们。

import asyncioasync def limited_task(sem, num):async with sem:print(f"开始执行任务 {num}")await asyncio.sleep(2)print(f"任务 {num} 执行完成")async def main():sem = asyncio.Semaphore(5)tasks = [limited_task(sem, i) for i in range(10)]await asyncio.gather(*tasks)asyncio.run(main())
http://www.dtcms.com/wzjs/85414.html

相关文章:

  • 网站建设 的介绍上海关键词优化报价
  • 网站群建设的优点北京昨晚出什么大事
  • 中国铁路建设工程招标网站seo的英文全称是什么
  • 高端网站设计欣赏广告接单平台app
  • wordpress网站被黑佛山关键词排名效果
  • wordpress 运行好慢百度seo关键词排名s
  • 手机版 网站建设怎么开发网站
  • 网站建设与管理实践收获投诉百度最有效的电话
  • 国家开放大学网站的作业怎么做刷关键词排名seo软件软件
  • 中铁建设企业门户优化大师 win10下载
  • 重庆平台网站建设搜索网页
  • 做电影网站都需要什么工具十大免费网站推广
  • 湛江宇锋网站建设阳城seo排名
  • 我要学网站建设百度联盟怎么加入赚钱
  • 网站搜索排名优化怎么做网络游戏排行榜百度风云榜
  • 做电玩城设计的网站广州百度竞价托管
  • 网页设计与网站开发的卷子智慧软文网站
  • wordpress 字体 插件下载地址seo外链收录
  • 公司推广网站怎么做seo观察网
  • 站内推广的方法sem竞价推广代运营收费
  • 初二怎么做网站seo网站排名优化软件是什么
  • 做网站的公司怎么推销外链link
  • 衢州专业做网站海外aso优化
  • 购物网站的详细设计网页优化方案
  • 做网站 先备案么茶叶推广软文
  • 增城住房和建设局网站网站竞价推广都有哪些
  • 如何建立的网站能争钱app拉新一手渠道
  • 网站申请要多少钱长沙seo网站
  • 高端网站设计定制公司百度推广登陆网址
  • 如何学做网站广州网站优化方案