上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 21 下一页
摘要: 主协程如何等其余协程完再操作 主协程自我阻塞,直到需要的协程完成 阻塞方法 使用sync.WaitGroup()管理其余协程 优点:操作简单 缺点:不能管控协程的执行完成的顺序 利用缓存管道进行协程之间的通信 优点:能够管控一组协程结束 缺点:不能管控协程的执行完成顺序 利用无缓存管道进行协程之间的 阅读全文
posted @ 2019-10-04 23:17 Myuniverse 阅读(348) 评论(0) 推荐(0) 编辑
摘要: TCP连接示意图 长连接和短链接的区别 客户端和服务端响应的次数 长连接:可以多次。 短链接:一次。 传输数据的方式 长连接:连接 数据传输 保持连接 短连接:连接 数据传输 关闭连接 长连接和短链接的优缺点 长连接 优点 省去较多的TCP建立和关闭的操作,从而节约时间。 性能比较好。(因为客户端一 阅读全文
posted @ 2019-10-03 23:51 Myuniverse 阅读(11938) 评论(0) 推荐(0) 编辑
摘要: golang的server push server push作用的理解 客户端和服务端建立连接之后,服务器主动将一些资源推送给服务端。 注意:推送的内容,要放在发送响应数据之前。 server push示意图 server push特点 理论上,缩短数据加载的时间 将请求数据存放在缓存中 serve 阅读全文
posted @ 2019-10-03 00:30 Myuniverse 阅读(576) 评论(0) 推荐(0) 编辑
摘要: context学习 context的struct设计 go type Context interface { Deadline() (deadline time.Time, ok bool) Done() 阅读全文
posted @ 2019-09-27 23:16 Myuniverse 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 空结构体的特点和作用 参考代码 go package main import ( "fmt" "unsafe" ) func main() { empStruct() } //空结构体的实例和作用 func empStruct(){ //空结构体的特点:1、不占用内存;2、地址不变 var s st 阅读全文
posted @ 2019-09-26 22:58 Myuniverse 阅读(3373) 评论(3) 推荐(0) 编辑
摘要: time包中Parse和Format的区别 参考代码 输出结果 总结:两者的区别:Format表示将时间转化为字符串,parse表示将字符串转化为时间 阅读全文
posted @ 2019-09-26 00:12 Myuniverse 阅读(1280) 评论(0) 推荐(0) 编辑
摘要: 参考代码 go func main(){ // 错误写法 // ch1 := make(chan string) // ch1 阅读全文
posted @ 2019-09-24 14:59 Myuniverse 阅读(403) 评论(0) 推荐(0) 编辑
摘要: defer func(参数){} 参考代码 输出结果 结果分析 defer运行特点 在return之后执行 先赋值后放入堆栈 阅读全文
posted @ 2019-09-24 12:45 Myuniverse 阅读(1922) 评论(0) 推荐(0) 编辑
摘要: 循环开协程情况分析 代码 现象说明 a的值为什么会是一样? 第一个go func中a是外部变量,因为协程运行时间不确定性,可能此时for循环完之后,才创建完协程,而此时得a=10,协程操作的也是这个变量。因此值会是一样的。 b的值为什么会不一样? 第二个go func中 是函数参数,与外部for中的 阅读全文
posted @ 2019-09-24 11:24 Myuniverse 阅读(401) 评论(0) 推荐(0) 编辑
摘要: for range 经典问题 问题 输出结果 个人理解(要是理解的不对,请指出,谢谢) 在该for循环中,range驱动数组内部初始指针走动,每次遍历数组的时候,数组内初始指针都会向下移动。循环结束之后,range使得数组内部的初始指针指向最后一个元素。根据指针的特性,赋给data的value值都是 阅读全文
posted @ 2019-09-23 22:02 Myuniverse 阅读(190) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 21 下一页