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

可以做护考题目的网站百度推广平台有哪些

可以做护考题目的网站,百度推广平台有哪些,.net网站建设,php网站开发第三章现在asyncio在Python中的使用越来越广泛了,但是很多人对于协程(corotine)的一些使用方式还不太熟悉。在这篇文章中,我将会介绍如何识别协程是否被block了,并以常用的HTTP网络库requests/httpx为例来说明如何避免协程被block的问题。 为什么协程会被block 在Python中,可…

现在asyncio在Python中的使用越来越广泛了,但是很多人对于协程(corotine)的一些使用方式还不太熟悉。在这篇文章中,我将会介绍如何识别协程是否被block了,并以常用的HTTP网络库requests/httpx为例来说明如何避免协程被block的问题。

为什么协程会被block

在Python中,可以通过多协程的方式来实现并发,但是如果在协程中使用了阻塞的IO操作,那么这个协程就会被block,从而影响整个事件循环的执行。在这种情况下,虽然已经启动了很多协程,但是其实所有的协程都被卡主没有继续执行,也就不能发挥其并发的优势了。

一般来说,进行HTTP请求时,在Python中和asyncio配合的更多是httpx而非经典的requests库。这些就是因为,在默认情况下,httpx的AsyncClient是不会block住协程的,而requests库则是会block住协程。如果在多协程的情况下直接使用requests库,其实就没有发挥出任何协程的并发优势。

如何识别协程是否被block

我们可以通过一个独立的协程任务来检查自己是否block中,从而发现当前的事件循环中是否有协程被block。这个任务的视线方式如下:

import time
import asyncioTHRESHOLD = 0.01
FINISH = Falseasync def monitor_block():global FINISHmax_diff = 0while not FINISH:t = time.time() await asyncio.sleep(1.0)diff = time.time() - t - 1.0if diff > max_diff:max_diff = diffif diff > THRESHOLD:print(f'block found, diff {diff}s')print(f'{max_diff=}')

这个任务会每秒检查一次当前的时间是否和预期的时间相差太大,也就是asyncio.sleep函数的执行是否收到的影响,我们设定一个阈值THRESHOLD,如果实际的sleep的时间超过阈值,我们就认为当前的协程被block了。

下面实际比较一下requests和httpx的区别:

http://www.tj-hxxt.cn/news/121358.html

相关文章:

  • wordpress 首页被迫跳转南宁关键词优化软件
  • wordpress 自建邮件seo排名培训
  • 大连九死一疯事件白帽seo是什么
  • 教学网站的设计襄阳seo推广
  • 天津网站建设设计网上销售方法
  • 建网站必须要服务器吗百度网络优化推广公司
  • 做里番网站犯法吗软文营销的案例
  • 做网站推广都有哪些行业seo网络排名优化方法
  • 做网站租用那个服务器好推广网站的公司
  • 自然志wordpress免费seo优化推广工程师
  • 杭州正规企业网站建设营销推广的方法有哪些
  • 在哪些网站能接到活做网店代运营一年的费用是多少
  • 电脑做系统ppt下载网站好日照网络推广
  • 设计logo网站知乎淘宝关键词排名是怎么做的
  • 网站开发公司总汇百度广告竞价排名
  • 营销型企业网站建设的基本原则是青岛关键词优化平台
  • 招聘网站代理网站优化排名易下拉稳定
  • 关于网站备案百度一下你就知道主页
  • 怎样做招聘网站分析电商营销推广有哪些?
  • 无锡网站建设公司怎么样黄冈网站建设收费
  • 番禺做网站开发百度电脑版下载官方
  • 网站开发浏览器兼容性快速建站
  • 做外贸家纺资料网站公司网站费用
  • asp化妆品网站整站优化提升排名
  • 无备案网站做cdn域名批量查询
  • 查看域名之前做的网站seo百度站长工具查询
  • wordpress网站的优化免费建立网站步骤
  • 网站css连线是怎么做的百度投放广告平台
  • 小公司网站开发今天时政新闻热点是什么
  • 网站推广销售百度游戏中心app