随笔分类 -  go

go相关的知识
golang http client的MaxConnsPerHost限制
摘要:最近有一个压测的任务,首先使用gin写了一个http server,将请求数据写入到mysql,写入qps需要达到20K,当然,为了保险起见,使用了自己写的一个http client进行了压力测试,qps可以达到23K-25K的样子,然后就把这个http server部署到测试环境进行测试。 对于g 阅读全文
posted @ 2021-01-20 10:32 月落无影 阅读(2293) 评论(0) 推荐(0)
go调度: 第三部分-并发
摘要:前言 这个是用来讲述go调度器机制和特性的第三部分. 这个主要关注并发. 博客三部分的顺序: 1) go调度: 第一部分-操作系统调度 2) go调度: 第二部分-go调度器 3) go调度: 第三部分-并发 介绍 当我在解决一个问题, 尤其是一个新问题的时候, 开始阶段, 我不会考虑并发是不是有用 阅读全文
posted @ 2021-01-17 15:34 月落无影 阅读(181) 评论(0) 推荐(0)
go调度: 第二部分-go调度器
摘要:前言 这个博客是三部分中提供go调度器的语义和机制的部分. 博客三部分的顺序: 1) go调度: 第一部分-操作系统调度 2) go调度: 第二部分-go调度器 3) go调度: 第三部分-并发 介绍 在博客三部分中的第一部分, 我解释了操作系统调度器中对理解go调度器机制重要的方面. 在博客的这部 阅读全文
posted @ 2019-05-28 19:40 月落无影 阅读(649) 评论(0) 推荐(0)
go调度: 第一部分-OS调度(操作系统调度)
摘要:开场白 这个是三篇博客中的第一篇, 用来提供go调度背后的机制和语法. 这篇博客主要关注操作系统调度. 三篇博客的顺序是: 1) go调度: 第一部分 - 操作系统调度 2) go调度: 第二部分 - go调度器调度 3) go调度: 第三部分 - 并发 介绍 go调度器的设计和行为使得你的多线程g 阅读全文
posted @ 2019-05-22 22:15 月落无影 阅读(852) 评论(0) 推荐(0)
go data structures: Interfaces
摘要:用法 go的接口, 实现了类似于python这种动态语言的鸭子类型(duck typing)编程模式, 同时编译器会进行必要的检查, 可以发现当需要传入一个拥有Read方法的变量时, 而实际上传入了一个int类型. 为了使用接口, 你需要定义一个接口类型(假设这里的, ReadCloser): 然后 阅读全文
posted @ 2019-05-16 23:17 月落无影 阅读(587) 评论(0) 推荐(0)
golang的channel实现
摘要:golang的channel实现位于src/runtime/chan.go文件。golang中的channel对应的结构是: 注:源码中的raceenabled表示是否启用race detector, 所以,如果你只需要了解channel的机制,可以忽略raceenabled的相关代码。当racee 阅读全文
posted @ 2019-05-15 09:59 月落无影 阅读(1240) 评论(0) 推荐(0)
golang实现的简单优先队列
摘要:下面是golang实现的简单优先队列,参考信息可以查看https://golang.org/pkg/container/heap/或者https://golang.google.cn/pkg/container/heap/,后面这个网址也是官方提供的网址,关于这个网页的说明,可以参考https:// 阅读全文
posted @ 2019-04-26 07:54 月落无影 阅读(3272) 评论(0) 推荐(0)
gin的url查询参数解析
摘要:gin作为go语言最知名的网络库,在这里我简要介绍一下url的查询参数解析。主要是这里面存在一些需要注意的地方。这里,直接给出代码,和运行结果,在必要的地方进行分析。 代码1: 测试结果: 输出结果: curl "http://localhost:8080/getb?field_a=hello&fi 阅读全文
posted @ 2019-04-11 22:32 月落无影 阅读(9073) 评论(0) 推荐(0)
将golang中变量重置为零的reflect方法
摘要:下面给出简单的代码,这里通过将变量重置为零来实现过滤字段的目的: 如果不希望使用二次映射,可以考虑使用reflect库中,Value结构体的FieldByName成员函数。 阅读全文
posted @ 2019-01-31 12:03 月落无影 阅读(1227) 评论(0) 推荐(0)