说一下我认识的*nix下的服务器热重启
摘要:步骤: 第一: 收到SIGTERM以后现在的服务器监听socket停止accept 但是并没有停止listen,这个很关键.(所以客户端发起的tcp连接的syn得不到synack,只是继续等待,而不会被拒绝) 第二: 收到sigterm的现有进程继续处理已经accept的socket. 直到处理完毕结束退出. 第三: 在收到sigterm以后,接着发...
阅读全文
posted @
2015-12-19 11:25
baizx
阅读(370)
推荐(0) 编辑
go的Type switch是一个switch语句么?
摘要:相信这样的语句在go中大家见的很多switch t := arg.(type) {default: fmt.Printf("unexpected type %T\n", t) // %T prints whatever type t hascase bool: fmt.Print...
阅读全文
posted @
2015-12-10 15:54
baizx
阅读(648)
推荐(0) 编辑
go语言 defer 你不知道的秘密!
摘要:go 语言的defer功能强大,对于资源管理非常方便,但是如果没用好,也会有陷阱哦.我们先来看几个例子.例一: defer 是先进后出 这个很自然,后面的语句会依赖前面的资源,因此如果先前面的资源先释放了,后面的语句就没法玩了.1 func main() {2 var whatever [...
阅读全文
posted @
2015-12-06 21:59
baizx
阅读(6433)
推荐(1) 编辑