自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 golang学习笔记-channel

go语言协程学习笔记 协程简介 多线程传递数据的方式一般是通过共享内存,为了解决线程的竞争,需要限制同一时间访问这些线程的数量(互斥锁)。 golang采用channel进行协程间的数据传递,channel强调的是两个协程之间传递数据,所以最好是一个协程写,另外有一个协程读。 代码1演示如下 package main import ( "fmt" "time" ) func main() { ch := make(chan string) //发送操作在协程中执行,如不在协程中操作,则主函数报

2021-11-18 18:29:45 443

原创 select、poll和epoll的理解

select、poll和epoll都是IO多路复用的实现方式。IO多路复用是通过一种机制,可以见监控个描述符,一旦某个描述符读就绪或者写就绪,就能通知程序进行相应的读写操作。select,poll,epoll本质上都是同步I/O。 同步:指的是用户进程触发IO操作并等待或者轮询的去查看IO操作是否就绪,自己负责进行读写。 异步:是指用户进程触发IO操作以后便开始做自己的事情,而当IO操作已经完成的时候会得到IO完成的通知 select select 函数监视的文件描述符分3类,分别是writefds、rea

2020-07-12 18:11:14 222 2

原创 五大IO模型的理解及PHP简单实现

文章目录五大 I/O 模型阻塞 I/O原理介绍代码实现执行结果及说明执行结果说明非阻塞 I/O原理介绍代码实现执行结果及说明执行结果说明I/O 多路复用原理介绍执行结果及说明执行结果说明信号驱动 I/O代码实现执行结果及说明执行结果说明异步 I/O代码实现执行结果及说明执行结果说明总结 五大 I/O 模型 对于一次 IO 操作,数据会先被拷贝进操作系统内核空间的缓冲区中,然后才会从内核缓冲区中拷贝到用户空间。所以说,当一个 IO 操作发生时,它会经历两个阶段: 等待数据准备。 将数据从内核拷贝到用户空间

2020-07-11 23:49:35 932

原创 Docker介绍和简单应用

什么是Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 直白的说就是一个实现虚拟化的容器引擎。 三个基本概念 1,镜像 (Image) 2,容器 (Container) 3,仓库 (Repository) 镜像 操作系统分为内核和用户空间。对于 Linux 而言,内核启动后,会挂载root文件系统为其提供用户空间支持。而

2020-07-02 23:03:08 389

原创 IOC容器的理解和原生代码实现简单容器

##IOC容器的理解和原生代码实现简单容器 IOC是什么 IOC :Inversion of Control,中文含义就是控制反转,IOC不是一种技术,而是一种思想,通过这种思想,我们可以设计出低耦合,灵活性高,扩展性高的程序。 1.控制正转 既然提到控制反转,那么就有控制正转。所谓的控制正转,就是我们传统的程序设计的方式:在对象内部通过new的方式创建对象,即我们主动去创建程序的依赖对象。下面我们通过简单的示例代码表现。 <?php interface Pay { function doPay

2020-06-30 20:41:16 266

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除