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

外贸网站推广有哪些网络工程师自学教程

外贸网站推广有哪些,网络工程师自学教程,九江做网站的大公司,电商的网站有几个阻塞、非阻塞、同步与异步 阻塞与非阻塞 进程运行的三种状态#xff1a;运行、就绪、阻塞 阻塞和非阻塞#xff1a; ​ 阻塞#xff1a;程序运行时,遇到了IO,程序挂起,cpu被切走. ​ 非阻塞#xff1a; 程序没有遇到IO,程序遇到IO但是我通过某种手段,让cpu强行运行我的程序… 阻塞、非阻塞、同步与异步 阻塞与非阻塞 进程运行的三种状态运行、就绪、阻塞 阻塞和非阻塞 ​ 阻塞程序运行时,遇到了IO,程序挂起,cpu被切走. ​ 非阻塞 程序没有遇到IO,程序遇到IO但是我通过某种手段,让cpu强行运行我的程序. 提交任务的角度: ​ 同步 提交一个任务,自任务开始运行直到此任务结束(可能有IO),返回一个返回值之后,我在提交下一个任务. ​ 异步一次提交多个任务,然后我就直接执行下一行代码. 同步调用与异步调用 同步调用 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import time import random import osdef task(i):print(f{os.getpid()}开始任务)time.sleep(random.randint(1,3))print(f{os.getpid()}任务结束)return i if __name__ __main__:# 同步调用pool ProcessPoolExecutor()for i in range(10):obj pool.submit(task,i)# obj是一个动态对象,返回的当前的对象的状态,有可能运行中,可能(就绪阻塞),还可能是结束了.# obj.result() 必须等到这个任务完成后,返回了结果之后,在执行下一个任务.print(f任务结果:{obj.result()}) # 进程执行完成后返回结果pool.shutdown(waitTrue)# shutdown: 让我的主进程等待进程池中所有的子进程都结束任务之后,在执行. 有点类似与join.# shutdown: 在上一个进程池没有完成所有的任务之前,不允许添加新的任务.# 一个任务是通过一个函数实现的,任务完成了他的返回值就是函数的返回值.print(主) 异步调用 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import time import random import osdef task(i):print(f{os.getpid()}开始任务)time.sleep(random.randint(1,3))print(f{os.getpid()}任务结束)return i if __name__ __main__:# 异步调用pool ProcessPoolExecutor()for i in range(10):pool.submit(task,i) # 未解决异步调用返回值问题pool.shutdown(waitTrue)print(主) 异步调用获取结果的两种方式 ​ 方式1统一回收结果: 任务结束后对所有动态对象取结果获取函数返回值 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import time import random import osdef task(i):print(f{os.getpid()}开始任务)time.sleep(random.randint(1,3))print(f{os.getpid()}任务结束)return iif __name__ __main__:# 异步调用pool ProcessPoolExecutor()l1 []for i in range(10):obj pool.submit(task,i)l1.append(obj)pool.shutdown(waitTrue)print(l1)for i in l1:print(i.result())print(主) # 结果 12708开始任务 8632开始任务 1848开始任务 14544开始任务 10704开始任务 18776开始任务 18480开始任务 18548开始任务 13916开始任务 17144开始任务 1848任务结束 14544任务结束 18548任务结束 8632任务结束 10704任务结束 18480任务结束 13916任务结束 17144任务结束 12708任务结束 18776任务结束 [Future at 0x232b4a377b8 statefinished returned int, Future at 0x232b4a82c88 statefinished returned int, Future at 0x232b4a82d30 statefinished returned int, Future at 0x232b4a82dd8 statefinished returned int, Future at 0x232b4a82e80 statefinished returned int, Future at 0x232b4a82f28 statefinished returned int, Future at 0x232b4a8d048 statefinished returned int, Future at 0x232b4a8d128 statefinished returned int, Future at 0x232b4a8d208 statefinished returned int, Future at 0x232b4a8d2e8 statefinished returned int] 0 1 2 3 4 5 6 7 8 9 主 ​ 方式2异步调用回调函数 异步调用回调函数 requests模块 浏览器工作原理 服务端发送一个请求,服务端验证你的请求,如果正确,给你的浏览器返回一个文件浏览器接收到文件,将文件里面的代码渲染成你看到的漂亮美丽的模样. 爬虫原理 1. 利用代码模拟一个浏览器,进行浏览器的工作流程得到一堆源代码. 2. 对源代码进行数据清洗得到我想要数据. import requests ret requests.get(http://www.baidu.com) if ret.status_code 200:print(ret.text) 引入回调函数的三个过程 版本1 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import requestsdef task(url):content requests.get(url)return content.textdef parse(obj):return len(obj.result())if __name__ __main__:pool ThreadPoolExecutor(4)url_list [http://www.JD.com,http://www.JD.com, https://home.cnblogs.com/u/lifangzheng/,https://wizardforcel.gitbooks.io/gopl-zh/content/ch0/ch0-01.html, https://www.pypypy.cn/#/,https://www.liaoxuefeng.com/, https://home.cnblogs.com/u/lifangzheng/,https://home.cnblogs.com/u/lifangzheng/, https://gitee.com/clover16, https://gitee.com/clover16]obj_list []for url in url_list:obj pool.submit(task,url)obj_list.append(obj)pool.shutdown(waitTrue)for res in obj_list:print(parse(res.result())) # 版本一的两个缺陷: # 1. 异步发出10个任务,并发的执行,但是统一的接收所有的任务的返回值.(效率低,不能实时的获取结果) # 2. 分析结果流程是串行,影响效率. 版本2基于版本一的第二个缺点改进而来 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import requestsdef task(url):content requests.get(url)return parse(content.text)def parse(obj):return len(obj.result()) # 嵌套函数并发执行中分析结果增加了函数的耦合性 # 并发执行任务,每个任务是通过网页获取源码数据分析,此任务最好是IO阻塞,才能发挥最大的效果 if __name__ __main__:pool ThreadPoolExecutor(4)url_list [http://www.JD.com,http://www.JD.com, https://home.cnblogs.com/u/lifangzheng/,https://wizardforcel.gitbooks.io/gopl-zh/content/ch0/ch0-01.html, https://www.pypypy.cn/#/,https://www.liaoxuefeng.com/, https://home.cnblogs.com/u/lifangzheng/,https://home.cnblogs.com/u/lifangzheng/, https://gitee.com/clover16, https://gitee.com/clover16]obj_list []for url in url_list:obj pool.submit(task,url)obj_list.append(obj)pool.shutdown(waitTrue)for res in obj_list:print(parse(res.result())) 版本3 from concurrent.futures import ProcessPoolExecutor,ThreadPoolExecutor import requestsdef task(url):content requests.get(url)return content.textdef parse(obj):print(len(obj.result()))if __name__ __main__:pool ThreadPoolExecutor(4)url_list [http://www.JD.com,http://www.JD.com, https://home.cnblogs.com/u/lifangzheng/,https://wizardforcel.gitbooks.io/gopl-zh/content/ch0/ch0-01.html, https://www.pypypy.cn/#/,https://www.liaoxuefeng.com/, https://home.cnblogs.com/u/lifangzheng/,https://home.cnblogs.com/u/lifangzheng/, https://gitee.com/clover16, https://gitee.com/clover16]for url in url_list:obj pool.submit(task,url)obj.add_done_callback(parse) # add_done_callback函数无返回值# 线程发布后由空闲线程执行回调函数 PS异步处理IO类型回调处理非IO类型 异步调用和回调函数的关系 异步站在发布任务的角度回调站在接收结果的角度: 回调函数 按顺序接收每个任务的结果,进行下一步处理. 线程池回调函数和进程池回调函数的小区别 进程池回调: 回调函数由主进程去执行线程池回调: 回到函数由空闲的线程去执行. 转载于:https://www.cnblogs.com/lifangzheng/p/11415016.html
http://www.pierceye.com/news/204280/

相关文章:

  • 怎么制作网站登录电子商务网上购物网站建设规划
  • 大连外贸网站制作做文案公众号策划兼职网站
  • 400网站建设推广通王网站内容管理系统
  • 上海专业网站制作开发wordpress 一级目录下
  • 要查询一个网站在什么公司做的推广怎么查济南集团网站建设报价
  • 手机静态网站建设课程设计报告形象型网站
  • 网站建设接单渠道百度网站内容
  • 企业网站pv是什么手机网站开发价格
  • 北京网站优化团队oppo开放平台
  • 购物商城外贸网站福州营销型网站建设公司
  • 白酒pc网站建设方案网站不符合个人备案性质
  • 做视频网站程序多少钱免费人体做爰网站
  • 做海外网站 服务器放哪网页设计师通常是设计两套ui吗
  • 海拉尔网站建设做html网站模板下载
  • 为什么网站找不到了东莞智通人才市场招聘官网
  • 如何注册网站名称中国煤炭建设协网站
  • 一个网站为什么做的不好看软件源码成品资源下载网站
  • 网站建设 环讯传媒建设网站要多久到账
  • 溧阳城乡建设厅网站惠州专业网站建设
  • app嵌入手机网站dw旅游网站怎么做
  • wpf做网站烟台做网站工资
  • 做网站公司名字网站建设方案对比分析报告
  • 网站360优化网站开发所需技术
  • 宁河做网站公司wordpress漏洞扫描工具
  • 单位网站建设的目的手机可以做网站服务器吗
  • 上海网站建设有限公司lnmp安装wordpress限权
  • 大航母网站建设服务php一般网站空间多大
  • 中性衣服印花图案设计网站做网站的工作
  • 只做女性的网站编程入门先学什么软件
  • 创客网站建设新余公司做网站