编程语言:Go
Golang升级到1.7后,之前正确的函数出现错误,分析原因及解决办法
最近尝试把开发环境,升级到Golang1.7.1后,程序会偶发性的宕掉,查看日志后,发现总是在一个计算切片的哈希值的地方,错误信息是:unexpected fault address 0xc043df4000, fatal error: fault 在1.7之前程序持…
golang的服务控制实践
对于程序及服务的控制,本质上而言就是正确的启动,并可控的停止或退出。在go语言中,其实就是程序安全退出、服务控制两个方面。核心在于系统信号获取、Go Concurrency Patterns、以及基本的代码封装。
一个 Go 程序系统线程暴涨的问题
最近 fix 了一个 Go 程序系统线程数量暴增的问题,线程数量维持在2,3万个,有时候甚至更多,这情况明显不符合 Go 的并发原理。第一次发现线程数巨多是因为这个程序突然 crash 了,由于设置了程序可用的最大线程数…
Singleton Pattern in Go
Go语言的发展迅猛,吸引了越来越多的开发者。然而,在编写Go代码时需要更加仔细地审查。团队成员应该进行代码审查,因为像这样的问题很容易被忽视。新的开发者需要真正理解线程安全的工作原理,以改进他们的代码。尽管Go语言本身通过允许您以最少的并发知识设计并发代码来做了很多重活,但仍有几种情况在这方面不会帮助您,您仍然需要应用最佳实践来开发您的代码。总结:Go语言的发展迅猛,开发者需要更加仔细地审查代码并进行代码审查,尤其是在涉及线程安全时。新的开发者需要深入理解线程安全的工作原理,以改进他们的代码。
Profiling Golang
Concise guide to profiling Go programs
如何实现支持数亿用户的长连消息系统 | Golang高并发案例
知名互联网公司架构师周洋分享的如何用Golang实现支持数亿用户的长连接消息系统