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