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

徐州网站建设方案开发最新国际军事新闻

徐州网站建设方案开发,最新国际军事新闻,做网站最主要是什么,榆林市城乡建设规划网站协程概念引入 ​ 协程是我要重点去讲解的一个知识点. 它能够更加高效的利用CPU. ​ 其实, 我们能够高效的利用多线程来完成爬虫其实已经很6了. 但是, 从某种角度讲, 线程的执行效率真的就无敌了么? 我们真的充分的利用CPU资源了么? 非也~ 比如, 我们来看下面这个例子. 我们…协程概念引入 ​ 协程是我要重点去讲解的一个知识点. 它能够更加高效的利用CPU. ​ 其实, 我们能够高效的利用多线程来完成爬虫其实已经很6了. 但是, 从某种角度讲, 线程的执行效率真的就无敌了么? 我们真的充分的利用CPU资源了么? 非也~ 比如, 我们来看下面这个例子. 我们单独的用一个线程来完成某一个操作. 看看它的效率是否真的能把CPU完全利用起来. import timedef func():print(我爱黎明)time.sleep(3)print(我真的爱黎明)func()​ 各位请看. 在该程序中, 我们的func()实际在执行的时候至少需要3秒的时间来完成操作. 中间的三秒钟需要让我当前的线程处于阻塞状态. 阻塞状态的线程 CPU是不会来执行你的. 那么此时cpu很可能会切换到其他程序上去执行. 此时, 对于你来说, CPU其实并没有为你工作(在这三秒内), 那么我们能不能通过某种手段, 让CPU一直为我而工作. 尽量的不要去管其他人. ​ 我们要知道CPU一般抛开执行周期不谈, 如果一个线程遇到了IO操作, CPU就会自动的切换到其他线程进行执行. 那么, 如果我想办法让我的线程遇到了IO操作就挂起, 留下的都是运算操作. 那CPU是不是就会长时间的来照顾我~. ​ 以此为目的, 伟大的程序员就发明了一个新的执行过程. 当线程中遇到了IO操作的时候, 将线程中的任务进行切换, 切换成非 IO操作. 等原来的IO执行完了. 再恢复回原来的任务中. async def func():print(我是协程) if __name__ __main__:# print(func()) # 注意, 此时拿到的是一个协程对象, 和生成器差不多.该函数默认是不会这样执行的coroutine func()asyncio.run(coroutine) # 用asyncio的run来执行协程.# lop asyncio.get_event_loop()# lop.run_until_complete(coroutine) # 这两句顶上面一句async def main():print(start)# # 添加协程任务# t1 asyncio.create_task(func1())# t2 asyncio.create_task(func2())# t3 asyncio.create_task(func3())## ret1 await t1# ret2 await t2# ret3 await t3tasks [asyncio.create_task(func1()),asyncio.create_task(func2()),asyncio.create_task(func3())]# 一次性把所有任务都执行done, pedding await asyncio.wait(tasks)print(end)if __name__ __main__:start time.time()asyncio.run(main())print(time.time() - start) 异步请求aiohttp和同步请求requests的不同 import aiohttp import asyncio import aiofilesasync def download(url):try:name url.split(/)[-1]# 创建session对象 - 相当于requsts对象async with aiohttp.ClientSession() as session:# 发送请求, 这里和requests.get()几乎没区别, 除了代理换成了proxyasync with session.get(url) as resp:# 读取数据. 如果想要读取源代码. 直接resp.text()即可. 比原来多了个()content await resp.content.read()# 写入文件, 用默认的open也OK. 用aiofiles能进一步提升效率async with aiofiles.open(name, modewb) as f:await f.write(content)return OKexcept:print(123)return NOasync def main():url_list [http://pic3.hn01.cn/wwl/upload/2021/06-30/omv2i40essl.jpg,http://pic3.hn01.cn/wwl/upload/2021/06-30/kg3ccicvnqd.jpg,http://pic3.hn01.cn/wwl/upload/2021/06-30/jhw5yhbtyaa.jpg,http://pic3.hn01.cn/wwl/upload/2021/06-30/y1enehg1esu.jpg,http://pic3.hn01.cn/wwl/upload/2021/06-28/2pshuolbhrg.jpg,]tasks []for url in url_list:# 创建任务task asyncio.create_task(download(url))tasks.append(task)await asyncio.wait(tasks)if __name__ __main__:asyncio.run(main())async def factorial(name, number):f 1for i in range(2, number 1):print(fTask {name}: Compute factorial({number}), currently i{i}...)await asyncio.sleep(1)f * iprint(fTask {name}: factorial({number}) {f})return fasync def main1():# Schedule three calls *concurrently*:L await asyncio.gather(factorial(A, 2),factorial(B, 3),factorial(C, 4),)print(L)asyncio.run(main1())
http://www.dnsts.com.cn/news/126365.html

相关文章:

  • 哪些网站可以做驾考试题上海网站建设服务市价
  • 摩托车建设网站网站建设中排名掉了
  • 专门做美食的视频网站有哪些wordpress code 标签
  • 网站建设公司广wordpress最新评论
  • 哪里购买网站空间好wordpress情侣家园
  • 烟台海阳市专业做网站江苏建设人才网官网入口
  • 药理学网站建设方案网页界面设计遵循的原则
  • 网站开发的报告书网络营销推广方式有几种
  • 网站设计用ps 怎么做网站建设公司的重要性
  • 做自由行的网站常州百度公司
  • 做网站需要去工商备案吗建设公益网站多少钱
  • 微信网站开发 全屏建设银行网站会员用户名格式
  • 微信公众平台内做网站定制手机网站建设
  • 重庆做网站重庆做网站下城区住房和城市建设局网站
  • 网站建设选哪家网站建设维护专员
  • 视频网站开发框架帝国cms官网
  • 个人如何做购物网站 关于支付接口公司网站如何推广
  • 有哪些做电子商务的网站番禺网站制作多少钱
  • 沈阳公司做网站360建站系统
  • 建站助手官网刷推广链接
  • 哈尔滨站建筑面积软件开发项目管理核心
  • 货代找客户的网站网站策划书包含的内容
  • 如何做高校的网站版面设计国家现代农业示范区建设网站
  • 那个网站上可以找代加工的订单做网络规划设计师教程读后感
  • 怎么做网站网页wordpress 手机适配
  • .net电子商城网站开发设计缙云建设局网站
  • 分享到各大网站 代码科技狂人
  • 快速注销网站备案网站建设手稿
  • 国外有什么网站是做服装的seo如何快速排名百度首页
  • 网站建设与制作石家庄建设网站要什么手续