获得徽章 0
- #每天一个知识点# 当cpu在执行某一程序过程中,在突发事件的请求下,cpu中断当前正在执行的程序,自动转去执行为处理该事件而预先编写的程序服务;当服务程序执行完后,cpu继续执行原来的程序。这一过程称为中断。评论1
- #每天一个知识点#
Channel是Go语言中的一种并发原语,它可以用来在Goroutine之间传递数据。Channel的特点是类型安全、同步阻塞、支持多个Goroutine同时访问,它可以让我们更加方便地编写并发程序。
下面是一个使用Channel的例子:
func main() {
ch := make(chan int)
go func() {
ch <- 42
}()
fmt.Println(<-ch)
}
在上面的例子中,我们使用make函数创建了一个整数类型的Channel,然后在一个Goroutine中向Channel中发送了一个整数值。在主线程中,我们使用<-ch语法从Channel中接收整数值,并将其打印出来。
使用Channel可以让我们更加方便地实现Goroutine之间的通信展开评论5 - #每天一个知识点#
http1.0,2.0,3.0区别
HTTP1.0和HTTP1.1主要区别主要体现在:缓存处理,在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,HTTP1.1则引入了更多的缓存控制策略例如Entity tag,If-Unmodified-Since, If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。带宽优化及网络连接的使用,HTTP1.0中,存在一些浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送过来了,并且不支持断点续传功能,HTTP1.1则在请求头引入了range头域,它允许只请求资源的某个部分,即返回码是206(Partial Content)这样就方便了开发者自由的选择以便于充分利用带宽和连接。错误通知的管理,在HTTP1.1中新增了24个错误状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。Host头处理,在HTTP1.0中认为每台服务器都绑定一个唯一的IP地址,因此,请求消息中的URL并没有传递主机名(hostname)。但随着虚拟主机技术的发展,在一台物理服务器上可以存在多个虚拟主机(Multi-homed Web Servers),并且它们共享一个IP地址。HTTP1.1的请求消息和响应消息都应支持Host头域,且请求消息中如果没有Host头域会报告一个错误(400 Bad Request)。长连接,HTTP 1.1支持长连接(PersistentConnection)和请求的流水线(Pipelining)处理,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟,在HTTP1.1中默认开启Connection:keep-alive,一定程度上弥补了HTTP1.0每次请求都要创建连接的缺点。HTTP2.0HTTP2.0是HTTP协议自1999年HTTP1.1发布后的首个更新,主要基于SPDY协议。HTTP2.0大幅度的提高了web性能,进一步减少了网络的延迟。对于前端开发者而言,减少了优化工作。展开35
但是今天真的是枝江勇敢节![[灵光一现]](http://lf-web-assets.juejin.cn/obj/juejin-web/xitu_juejin_web/img/jj_emoji_25.51e6984.png)