网络编程 Golang主要设计目标之一是面向大规模后端服务程序,网络通信是服务端程序必不可少且至关重要的一环。 网络应用程序的设计模式可分为两种...
网络编程 Golang主要设计目标之一是面向大规模后端服务程序,网络通信是服务端程序必不可少且至关重要的一环。 网络应用程序的设计模式可分为两种...
简介 go语言的协程是十分轻量级的线程,它的销毁创建都在用户空间,因此一般没有必要对协程进行限制,但是某些场景还是需要控制并发数的。 1、可重复...
64行代码实现零拷贝go的TCP拆包粘包 前言 这段时间想用go写一个简单IM系统,就思考了一下go语言TCP的拆包粘包。TCP的拆包粘包有一般...
先看下测试结果: 步长设置为1000.缓冲池大小设为1000,每秒可以达到近百万次的生成量,其思想借鉴了Leaf——美团点评分布式ID生成系统的...
简要介绍 gim是一个即时通讯服务器,代码全部使用golang完成。主要功能1.支持tcp,websocket接入2.离线消息同步3.多业务接入...
在使用gin时,如果想在context中保存一些变量,比如用户的id,通常的做法是放到context的Keys变量中,这样做的话,我们每次取的时...
我们使用内存虚拟文件系统的目的主要有两方面:一是为了提升一些比较频繁的文件读写操作的速度,二是因为频繁的文件读写操作一定程度上对硬盘等物理介质有...
对超大文本文件进行排序(这里的排序一般指按行进行排序),是一种很特殊需求,这种“超大”的文本文件一般是指远远超出内存大小因而无法一次加载进内存来...
select是go语言中常用的一个关键字,其用法也一直被用作面试题来考核应聘者。今天,结合代码来分析下select的主要用法。 首先,我们来从官...
本文尽量通俗易懂地讲Go调度器(scheduler)的相关知识,尤其是普通开发者能够关注和控制的部分。调度器本身十分复杂,所以下文难免有疏漏,发...
专题公告
Go语言学习联盟:技术分享、前景讨论