12 2015 档案
说一下我认识的*nix下的服务器热重启
摘要:步骤: 第一: 收到SIGTERM以后现在的服务器监听socket停止accept 但是并没有停止listen,这个很关键.(所以客户端发起的tcp连接的syn得不到synack,只是继续等待,而不会被拒绝) 第二: 收到sigterm的现有进程继续处理已经accept的socket. 直到处理完毕结束退出. 第三: 在收到sigterm以后,接着发... 阅读全文
posted @ 2015-12-19 11:25 baizx 阅读(371) 评论(0) 推荐(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 阅读(654) 评论(0) 推荐(0)
go语言 defer 你不知道的秘密!
摘要:go 语言的defer功能强大,对于资源管理非常方便,但是如果没用好,也会有陷阱哦.我们先来看几个例子.例一: defer 是先进后出 这个很自然,后面的语句会依赖前面的资源,因此如果先前面的资源先释放了,后面的语句就没法玩了.1 func main() {2 var whatever [... 阅读全文
posted @ 2015-12-06 21:59 baizx 阅读(6442) 评论(5) 推荐(1)