GO语言:sync包——WaitGroup

官网文档对sync包的介绍:Package sync provides basic synchronization primitives such as mutual exclusion locks.

golang nsq源码解析&添加中文注释系列(一)

2019/12/21 23:28:19.924537 INFO: NSQ: persisting topic/channel metadata to nsqd.dat。

linux系统中socket错误码:eintr和eagain的处理方法

1、什么是慢系统调用?该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就会永远阻塞。

Go 编程:如何实现协程调度的精准控制

说起 Go 协程的调度,如果你了解 Go 调度器以及其实现的 G/P/M 模型,当然有助于应用的开发。简单的协程控制,很多人都会使用 sync.WaitGroup 进行多协程的控制。

算法基础(golang版本)——插入排序

假设我们手上有2,3,5,10这4张牌,这时候从牌桌里摸上一张7,这时候为了插入到合适的位置一般会从右边开始进行对比,例如10大于7那么,7应该往左偏移进行比较,然后再看5小于7,那么7就应该放在5的右边,这时候7就插入到下标为3的位置,同时10往右挪一个位置。

Go工程化系列:单元测试

序从我们开始开发以来,应该很多人都提到过测试的重要性,而在所有的测试类型当中,以单元测试为代表的单元测试无疑是成本最小,性价比最高的一种,而且有的公司为了保证质量会要求单元测试覆盖率的指标(包括我们)image.

高效的序列化/反序列化数据方式 Protobuf

高效的序列化/反序列化数据方式 Protobuf一. protocol buffers 序列化上篇文章中其实已经讲过了 encode 的过程,这篇文章以 golang 为例,从代码实现的层面讲讲序列化和反序列化的过程。

字节的分布式链路追踪实践,教科书式的搭建指南

字节跳动在发展过程中,逐渐形成了十分复杂的超大规模微服务体系,对后端整体的可观测性解决方案提出了极高的要求。

生产级发烧友:docker、k8s常用命令汇总

但是它有一个缺点,只要这个连接终止,或者使用了exit命令,容器就会退出后台运行使用dockerexec命令这个命令使用exit命令后,不会退出后台,一般使用这个命令,使用方法如下dockerexec-itContainerID/bin/bash或者dockerexec-itd4

Golang刷题Leetcode 18. 4Sum

]int{0,0,0}fori:=0;i0&&nums[i-1]==nums[i]{continue}forj:=i+1;jtarget&&nums[j]>0{//后面不可能