路漫漫其修远兮
吾将上下而求索

go

第3页

go学习:分布式锁

– 分布式锁 在单机程序并发或并行修改全局变量时,需要对修改行为加锁以创造临界区。为什么需要加锁呢?我们看看在不加锁的情况下并发计数会发生什么情况: package main import (  &...

go学习:进度条实现

最近在做一个需求,功能很简单,就是开发一个轻量级客户端,将一个指定文件中的内容通过TCP发送到服务器。由于该文件特别大,有可能到达 100G 的数量级,因此处理起来会比较慢,为了给用户提供比较友好的展示界面,因此,在其中加入了进度条显示功能...

etcd学习:分布式锁实现

概述 在传统单体应用单机部署的情况下,可以使用Java并发处理相关的API(如ReentrantLock或Synchronized)进行互斥控制。在单机环境中,Java中提供了很多并发处理相关的API。但是,随着业务发展的需要,原单体单机部...

go学习:协程池设计

– 并行的好处: 同一时刻可以处理多个事务 更加节省时间,效率更高 具有并行处理能力的程序我们称之为“并发程序”,并发程序的处理能力优势体现在哪里? 那么go语言如何实现并发? package main import&...

go学习:基于Go的马蜂窝旅游网分布式IM系统技术实践

本文由马蜂窝技术团队电商交易基础平台研发工程师"Anti Walker"原创分享。 一、引言 即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商。 从商品复杂性来看,一个旅游商品可能会包括用户在未来一段时间的衣...

go学习:logrus使用

– 在gin的应用中,有两个日志需要记录 一个是访问日志,用户每次访问的记录,debug模式,可以是json,也可以是text,单独一个日志文件 一个是自定义日志,用于调试信息展示,可调整级别,可以是json,也可以是text,...

go学习:类型转换

1、有些函数输入为[]interface,需要将[]int转换为[]interface,方式为make一个,然后一个一个赋值 package main import "fmt" func f...