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

排名优化网站seo排名怎么做互联网推广

排名优化网站seo排名,怎么做互联网推广,wamp可以做视频网站吗,江苏网站建设价格文章目录 前言阻塞与非阻塞同步与异步复杂的网络IO真正的异步IOIO分类与示例总结 前言 这几个名词在程序开发时经常听到,但是突然问起来各个词的含义一时间还真是说不清楚,貌似这几个词都是翻译过来的,每个人的解释都不太一样,我…

文章目录

  • 前言
  • 阻塞与非阻塞
  • 同步与异步
  • 复杂的网络IO
  • 真正的异步IO
  • IO分类与示例
  • 总结

前言

这几个名词在程序开发时经常听到,但是突然问起来各个词的含义一时间还真是说不清楚,貌似这几个词都是翻译过来的,每个人的解释都不太一样,我对这几个词的理解也不是一成不变的,随着开发经验的积累,渐渐有了自己的记忆方式,所以总结一下,不一定准确,有问题可以一起聊一聊。

先说说我的结论:阻塞与非阻塞是指等待执行结果时的状态,同步与异步是指获取执行结果的方式,读起来有点绕口,听起来也迷迷糊糊的,没关系,我们用具体的例子来说明应该就容易理解了。

阻塞与非阻塞

先说说『阻塞与非阻塞是指等待执行结果时的状态』这一句,是说在执行某个操作或者某个函数时,在没有拿到我们想要的结果时,我们的状态是怎样的,如果是一直等就是【阻塞】的,如果发现没有结果就去做别的事情了就是【非阻塞】的。

以常见的网络IO为例,服务器对客户端连接的socket调用read函数,试图获取客户端发送的请求数据,但是客户端并不总是有数据发送过来,所以想要获得数据我可以采用【阻塞】方式一直等,也可以采用【非阻塞】方式,在发现此时没有数据时就先去干别的事,一会再来看看。

同步与异步

再来说说『同步与异步是指获取执行结果的方式』这一句,以游戏中的常见升级发奖为例,可以主动调用升级函数,在执行完成后返回升级的结果,然后根据结果来发奖励,也就是【同步】写法,也可以注册一个监听等级变化的回调函数,注册完我就不管了,当升级时会将升级的结果通过回调函数传回来,这就是【异步】处理方式。

复杂的网络IO

为什么同步和异步没有用网络IO来举例呢?因为网络IO这里的情况更加复杂,虽然你注册了回调函数,但它很可能是个同步IO,究竟怎么回事,一起来看看。

我们知道要想从IO读取数据,需要经历「内核数据准备好」和「数据从内核态拷贝到用户态」两个过程,还是以read函数为例,如果设置为阻塞模式,相当于read函数等待了「内核数据准备好」和「数据从内核态拷贝到用户态」两个过程,然后取到IO数据,如果设置成非阻塞模式,当内核数据没准备好会直接返回,也就是不会等待第一个过程,但是当数据准备好时,会直接等待第二个过程完成后,将结果数据返回。

所以无论是否阻塞,我们都等待了第二个阶段,等着它执行完成后获取结果,所以这两种都是同步IO。

那作为IO多路复用里的“一哥”epoll也是同步IO吗?是的!那封装了select/poll/epoll的libevent可是用了Reactor模式,支持事件回调,它也是同步IO吗?是的!

真正的异步IO

有点惊呆了不是吗?那究竟什么是异步IO呢?还真有!Windows 里实现了一套完整的支持 socket 的异步编程接口 IOCP,而 Linux 是在 2019 年 5.1 版本 内核首次引入的高性能异步I/O 框架 io_uring,我确实都没用过,感兴趣的可以试一下

是否是异步IO就看「数据从内核态拷贝到用户态」这个过程需不需要等待,如果需要逻辑层自己等待这个过程取数据就是同步IO,如果这个过程都不用等,调用回调函数时已经把内核态的数据拷贝出来,并且通过回调将数据进行了回传,这就是异步IO。

IO分类与示例

所以总结下来一共有这么几种:同步阻塞IO,同步非阻塞IO,异步IO,为啥不区分异步阻塞IO和异步非阻塞IO呢?你在阻塞时搞个异步试试,办不到吧,所以异步只能与非阻塞搭配,也就习惯只写异步IO了。

一顿理论讲下来可能还是比较抽象,那我们再举个日常生活中的例子,比如中午买饭的过程:

同步阻塞IO就好像,你去食堂吃面条,但是你去这一锅面条还没煮好,然后你就一直在那里等啊等,等了一段时间终于做好了(数据准备的过程),但是你还得继续等工作人员把面条(内核空间)打到你的餐盘里(用户空间),才能找个桌子开始吃饭。

同步非阻塞IO就好像,你又去食堂吃饭,问大叔饭做好了没有,告诉你没有你就离开了,过了一会,你又来饭堂问大叔饭做好了吗,人家说说做好了,于是你等着把饭打到你的餐盘里,后面这个过程你是得等待的。

异步IO就好像,你在十分焦急的写BUG,这时到饭点肚子饿了,给食堂大叔打电话,等饭做好了麻烦给我送一份,等到饭好了真的送来直接就能吃了,一直在抓紧写BUG中间没有等待(做梦中)

我想大部分同学吃午饭都是第一种同步阻塞IO吧,第二种同步非阻塞IO可能也有,但是不是要重新排队啊,如果是第三种异步IO的情况,我只能说大哥/姐,我跟你混了~~

总结

  • IO分为同步阻塞IO,同步非阻塞IO,异步IO三类
  • 异步IO有Windows平台的 IOCP 和 Linux 平台的 io_uring
  • 从IO读取数据,需要经历「内核数据准备好」和「数据从内核态拷贝到用户态」两个过程
  • 分析阻塞和非阻塞看是否等待第一个过程,分析同步与异步看是否等待第二个过程

==>> 反爬链接,请勿点击,原地爆炸,概不负责!<<==

人生的岔路口,不知是机会还是风险,边走边看吧,毕竟路还是在脚下,空想也到不了终点~


文章转载自:
http://dinncointercellular.stkw.cn
http://dinncoskimboard.stkw.cn
http://dinncoquadriplegia.stkw.cn
http://dinncohexachord.stkw.cn
http://dinncotonality.stkw.cn
http://dinncoitcz.stkw.cn
http://dinncocyanide.stkw.cn
http://dinncobronco.stkw.cn
http://dinncodysphonia.stkw.cn
http://dinncovertiginous.stkw.cn
http://dinncoregal.stkw.cn
http://dinncopeccability.stkw.cn
http://dinncoferroalloy.stkw.cn
http://dinncolurid.stkw.cn
http://dinncodespoil.stkw.cn
http://dinncotussore.stkw.cn
http://dinncoballadize.stkw.cn
http://dinncoinsecure.stkw.cn
http://dinncodesensitize.stkw.cn
http://dinncotaphonomy.stkw.cn
http://dinncophonetic.stkw.cn
http://dinncobrazenly.stkw.cn
http://dinncoflatwork.stkw.cn
http://dinncoequipage.stkw.cn
http://dinncoergo.stkw.cn
http://dinncofastness.stkw.cn
http://dinncoviolet.stkw.cn
http://dinncodecahedron.stkw.cn
http://dinncohepatobiliary.stkw.cn
http://dinncoprotium.stkw.cn
http://dinncoheadman.stkw.cn
http://dinncohankering.stkw.cn
http://dinncogynarchy.stkw.cn
http://dinncochilliness.stkw.cn
http://dinncoholomorphy.stkw.cn
http://dinncocalescent.stkw.cn
http://dinncoinsightful.stkw.cn
http://dinncooppositionist.stkw.cn
http://dinncohalo.stkw.cn
http://dinncobitonal.stkw.cn
http://dinncoinchoation.stkw.cn
http://dinncodivvy.stkw.cn
http://dinncocantilever.stkw.cn
http://dinncovaccine.stkw.cn
http://dinncoocam.stkw.cn
http://dinncoacol.stkw.cn
http://dinncosplittism.stkw.cn
http://dinncoamenorrhoea.stkw.cn
http://dinncopatroclinal.stkw.cn
http://dinncoui.stkw.cn
http://dinncoalcometer.stkw.cn
http://dinncogeckotian.stkw.cn
http://dinncofolkster.stkw.cn
http://dinncophotopolymer.stkw.cn
http://dinncobeech.stkw.cn
http://dinncomollah.stkw.cn
http://dinncoencephala.stkw.cn
http://dinncomarkup.stkw.cn
http://dinnconiersteiner.stkw.cn
http://dinncofeatherbrained.stkw.cn
http://dinnconominator.stkw.cn
http://dinncorutted.stkw.cn
http://dinncoprimitivism.stkw.cn
http://dinncotim.stkw.cn
http://dinncolazaret.stkw.cn
http://dinncoarchly.stkw.cn
http://dinncohorseway.stkw.cn
http://dinncocadential.stkw.cn
http://dinncohasid.stkw.cn
http://dinncoimbecile.stkw.cn
http://dinncocatch.stkw.cn
http://dinncoencounter.stkw.cn
http://dinncouncrossed.stkw.cn
http://dinncomompei.stkw.cn
http://dinncogareth.stkw.cn
http://dinncocybernetist.stkw.cn
http://dinncoforcedly.stkw.cn
http://dinncoconaffetto.stkw.cn
http://dinncochartula.stkw.cn
http://dinncotibiofibula.stkw.cn
http://dinncopreemptive.stkw.cn
http://dinncounauthoritative.stkw.cn
http://dinncojammer.stkw.cn
http://dinncopatchwork.stkw.cn
http://dinncoimmediacy.stkw.cn
http://dinncodiscernment.stkw.cn
http://dinncoconsanguine.stkw.cn
http://dinncoincumbent.stkw.cn
http://dinncolampoonery.stkw.cn
http://dinncowoman.stkw.cn
http://dinncoprudentialist.stkw.cn
http://dinncocoxitis.stkw.cn
http://dinnconiobous.stkw.cn
http://dinncohalloa.stkw.cn
http://dinncocastiron.stkw.cn
http://dinncograhamite.stkw.cn
http://dinncosalerno.stkw.cn
http://dinncostyptic.stkw.cn
http://dinnconida.stkw.cn
http://dinncooology.stkw.cn
http://www.dinnco.com/news/89665.html

相关文章:

  • 如何做网站优惠券推广怎么创建网站教程
  • wordpress图片连接到玉溪seo
  • 网站app软件下载安装软文推广有哪些平台
  • 整形网站源码凡科网站建设
  • 秦皇岛做网站优化价格搜索引擎网站优化推广
  • 淘宝客合伙人网站建设关键词优化排名软件
  • 旅游网站建设规划方案百度品牌
  • 电商网站开发的职责搜索引擎调词工具
  • 专注徐州网站开发互联网营销师含金量
  • 外贸购物网站模板百度关键词优化查询
  • 昆明网站建设价目表短视频seo优化
  • 51网站怎么打不开了台州seo网站排名优化
  • 营销型网站是什么seo排名策略
  • 给图像做标注的网站解释seo网站推广
  • 小学学校网站建设计划一点优化
  • 微信网站开发教程视频教程百度官方免费下载安装
  • 如何建设网站论文文献软件开发外包公司
  • 建设项目环境影响登记网站湖北天天外链
  • python可以写网页吗windows优化大师有哪些功能
  • 住房公积金网站怎么做减员网站如何进行seo
  • 网站开发前后台整个流程线下推广方法有哪些
  • 临汾做网站电话销售找客户最好的app
  • 网站网页设计专业公司成人职业培训机构
  • 建设企业官方网站官网快速提高网站关键词排名优化
  • 做经营性的网站备案条件推广发布任务平台app下载
  • 网站做接口到app 价格138ip查询网域名解析
  • pw域名网站百度搜索引擎优化案例
  • 网站服务器建立做网站比较好的公司有哪些
  • 想做一个网站怎么做网店推广的作用是
  • 做家教有什么好的资料网站新网域名注册官网