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

个人做论坛网站怎么做qq推广官网

个人做论坛网站怎么做,qq推广官网,公司一般都用什么邮箱,工业设计公司产品外观一、读取文件数据,是阻塞还是非阻塞的? 分两种情况:常规读取文件数据,和网络IO读取数据 1. 常规读取文件数据: io.Reader 和 bufio.Reader 是阻塞进行的。 bufio.Reader 提供缓冲的读取操作,意味着数据是…

一、读取文件数据,是阻塞还是非阻塞的?

        分两种情况:常规读取文件数据,和网络IO读取数据

1. 常规读取文件数据:

    io.Reader 和 bufio.Reader 是阻塞进行的。 

    bufio.Reader 提供缓冲的读取操作,意味着数据是被阻塞式地 一次一段地 读取进来,然后存储在缓冲区内。当你需要读取更多数据时,它会从文件或其他 IO 源继续填充缓冲区。

    如果想要异步读取文件,可以使用 goroutines 和 channels。

2. 网络IO读取数据:

(1) 结论:

    网络IO在用户层是阻塞进行的(io.Reader),而在底层是以非阻塞的IO多路复用方式(epoll)实现的。

    是Go Net 或者 netpoll 把底层系统操作封装起来了,最终的效果就是用户层阻塞,底层非阻塞

(2) 解释:

    每个Goroutine在需要等待网络事件时,都会使用netpoll来监听一个或多个文件描述符。

    netpoll会在内部以非阻塞的方式轮询注册文件描述符(FDs),一旦有I/O事件发生,它就会将对应的事件分发给相应的Goroutine来处理。    

     netpoll并不是一个单独的函数或者Goroutine,而是内嵌在Go的运行时中独立运行的,用来处理多个Goroutine注册的I/O事件。

     一个Goroutine可以同时监听多个网络连接的事件,用户程序不需要为每个连接单独创建一个Goroutine。

(3) 引申:

     因为Go 具备了在 用户层用 阻塞io 进行读写的逻辑,所以 Go 推崇使用阻塞式的方式来编写程序,当需要处理并发逻辑时,就通过goroutine和channel来实现。

二、GO使用组合而非继承,体现了哪些优势?

1. 代码更优雅:对象的层次结构能够保持简洁,易于理解对象是负责哪个单一任务。

2. 降低了耦合:继承表示的是类型扩展的逻辑;而组合表示的是对象之间的包含关系。组合模式需要承担的职责更低,比如省去了构造和析构的继承逻辑。

3. 使用更灵活:嵌入的对象,可以在运行的时候被改变,被替换成同类型对象。

三、传参、引用类型、赋值

    Go语言传参,不管是数值类型还是引用类型,都是 值传递

    传递 引用类型 的时候,传递的是指针。传递之后,会有新的指针变量,但是指向的数据是同一份数据, 修改数据的话会修改原值

    引用类型 赋值 的话是浅拷贝,数据修改逻辑同上。

http://www.15wanjia.com/news/16192.html

相关文章:

  • 外贸独立站运营网站怎么做推广和宣传
  • 设计网站客户体验搜索网站有哪些
  • 义乌外贸公司建站百度小说风云榜排名
  • 一级a做爰片免播放器网站seo技术专员招聘
  • 可做兼职的翻译网站有哪些一个产品营销策划方案
  • 哪些大型网站有做互联网金融做网销的一天都在干嘛
  • web网站开发全过程湖南发展最新消息公告
  • 郑州网站建设出名吗大型网站seo课程
  • 做车贴网站网络营销章节测试答案
  • 网站开发中网页上传和网站发布做推广怎么赚钱
  • 网站建设系統百度竞价推广效果怎么样
  • 企业php网站建设免费发布信息平台有哪些
  • 什么叫网络市场营销北京推广优化公司
  • 哪个网站可以做身份证发布广告的平台免费
  • 不懂代码怎么做网站排名轻松seo 网站
  • 公司组织架构如何优化网页加载速度
  • 网站建站需要什么营销策划培训
  • 哪个网站建设公司靠谱关键词云图
  • 政府法制网站建设问题百度电脑网页版入口
  • 南京制作网页培训班优化法治化营商环境
  • 医院门户网站制作黑马教育培训官网
  • 建筑公司网站源码下载百度app下载
  • 导航网站教程零基础seo入门教学
  • 公司内部网站如何备案精准网站seo诊断报告
  • 网站建设维护工作总结seo怎么做优化工作
  • 手机版网站如何做数字营销软件
  • wordpress bt站搭建友情链接建立遵循的原则包括
  • 电商网站开发方案seo是什么职位的简称
  • 刚做的网站怎么收录google浏览器入口
  • 罗湖网站制作多少钱网络营销推广专家