摘要:https://journey-c.github.io/ 阅读全文
posted @ 2020-10-21 22:53 勿忘初心0924 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Maximum Product time limit per test2 seconds memory limit per test512 megabytes inputstandard input outputstandard output You are given an array of in 阅读全文
posted @ 2020-09-13 00:45 勿忘初心0924 阅读(96) 评论(0) 推荐(0) 编辑
摘要:C. Balanced Bitstring time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output A bitstring is a strin 阅读全文
posted @ 2020-09-07 10:47 勿忘初心0924 阅读(52) 评论(0) 推荐(0) 编辑
摘要:Boboniu and Bit Operations time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Boboniu likes bit 阅读全文
posted @ 2020-08-13 10:56 勿忘初心0924 阅读(95) 评论(2) 推荐(0) 编辑
摘要:数据结构 调度相关的数据结构有三个,M(线程),P(调度器),G(goroutine) M表示线程,P作为调度器用来帮助每个线程管理自己的goroutine,G就是golang的协程。我们可以通过runtime.GOMAXPROCS(n int)函数设置P的个数,注意P的个数并不代表M的个数,例如程 阅读全文
posted @ 2020-07-07 22:54 勿忘初心0924 阅读(227) 评论(1) 推荐(0) 编辑
摘要:(年初的时候go语言的学习提上了日程,前一篇sync.pool阅读之后,阅读代码进度本该更快些,奈何身体被掏空,所以这篇文章断断续续一个月终于攒起来了。) 简介 channel是golang中用于goroutine之间通讯的数据结构,有以下特点: 线程安全 创建channel时返回的是指针,不需要考 阅读全文
posted @ 2020-05-31 23:24 勿忘初心0924 阅读(238) 评论(0) 推荐(0) 编辑
摘要:应用场景 内存对齐时基本都会求关于n位对齐的向上取整 讲解 go1.13.8 中channel源码中有这样一个变量 "hchansize" 用来表示hchan(channel对应的实际结构体)所需大小(申请内存空间时,是根据hchansize给hchan申请对应大小的内存空间),这个变量的值大概就是 阅读全文
posted @ 2020-04-19 23:46 勿忘初心0924 阅读(235) 评论(0) 推荐(0) 编辑
摘要:阅读项目代码的时候发现很多地方用到了golang的sync.pool,所以好奇golang的sync.pool底层实现是什么样的,有哪些优化。 本文是基于go1.13.8,做讲解。 [toc] 介绍 Pool翻译过来就是池子,主要功能就是: 需要使用某个Object的时候可以从Pool获取,使用完毕 阅读全文
posted @ 2020-04-06 21:36 勿忘初心0924 阅读(232) 评论(0) 推荐(1) 编辑
摘要:最近小编一直在做长连接相关的事情,最大的感触就是发版太痛苦,一个个踢掉连接然后发版,导致发版时长过长,操作繁琐。所以在想能不能实现优雅重启, 发版时客户端无感知。 [TOC] 难点 如何做到不中断接收连接 如何做到已有连接不中断 解决 如何做到不中断接受连接 以下是linux源码中bind的实现(l 阅读全文
posted @ 2019-12-09 11:59 勿忘初心0924 阅读(354) 评论(0) 推荐(1) 编辑
摘要:INI配置文件有三要素parameters,sections和comments。 1.parameters 指一条配置,就像key = value这样的。 2.sections sections是parameters的集合,sections必须独占一行并且用[]括起来。 sections没有明显的结 阅读全文
posted @ 2019-10-16 11:17 勿忘初心0924 阅读(658) 评论(0) 推荐(0) 编辑