Go语言中除了可以使用通道(channel)和互斥锁进行两个并发程序间的同步外,还可以使用等待组进行多个任务的同步,等待组可以保证在并发环境中完成指定数量的任务 在 sync.WaitGroup(等待组)类型中,每个 sync.WaitGroup 值在内部维护着一个计数,此计数的初始默认值为零。 等 ...
分类:
其他好文 时间:
2020-08-04 09:48:34
阅读次数:
65
select的作用 Go里面提供了一个关键字 select, 通过 select 可以监听channel上的数据流动. select 的用法与 switch 语言非常类似, 由 select 开始一个新的选择块, 每个选择条件由 case 语句来描述. 与 switch 语句相比, select 有 ...
分类:
其他好文 时间:
2020-08-04 09:47:11
阅读次数:
67
前言 前面我们为了解决go程同步的问题我们使用了channel, 但是go也提供了传统的同步工具. 它们都在go的标准库代码包 sync 和 sync/atomic 中. 下面我们来看一下锁的应用. 什么是锁呢? 就是某个协程(线程)在访问某个资源时先锁住, 防止其他协程的访问, 等访问完毕解锁后其 ...
分类:
其他好文 时间:
2020-08-04 09:46:17
阅读次数:
59
类型 T 方法集包含全部 receiver T 方法。 类型 *T 方法集包含全部 receiver T + *T 方法。 如类型 S 包含匿名字段 T,则 S 和 *S 方法集包含 T 方法。 如类型 S 包含匿名字段 *T,则 S 和 *S 方法集包含 T + *T 方法。 不管嵌入 T 或 * ...
分类:
其他好文 时间:
2020-08-03 14:47:14
阅读次数:
83
GNU开发工具——GNUBinutils快速入门一、GNUBinutils简介GNUBinutils(GNU二进制工具集),即GNUBinaryUtilities,是一套用于创建、管理和维护二进制目标文件的工具集合,包括addr2line、ar、gprof、nm、objcopy、objdump、ranlib、size、strings、strip。Binutils官网地址:https://www.g
分类:
其他好文 时间:
2020-08-03 09:46:54
阅读次数:
74
在做一些算法题时经常要用到二维切片,所以这里整理一下创建二维切片的方法,方便日后查阅。 package main import "fmt" func main() { // 初始化方法1 row, column := 3, 4 var answer [][]int for i := 0; i < r ...
分类:
其他好文 时间:
2020-08-02 23:37:16
阅读次数:
111
revel 是一个golang的全栈web开发框架,支持代码开发阶段的reload,友好的迁移(基于mux支持原有代码的方便迁移) 无状态,内置强大的cache,template,job,参数解析,路由 安装 go get -u github.com/revel/cmd/revel 创建应用 rev ...
分类:
其他好文 时间:
2020-08-02 12:43:14
阅读次数:
89
一、SpringBoot终极清单诞生原因我上学那会主要学的是Java和.Net两种语言,当时对于语言分类这事儿没什么概念,恰好在2009年毕业那会阴差阳错的先找到了.Net的工作,此后就开始了漫长的.Net编程之旅,说实话最初的“编程思想”的形成和确立都是在头几年做.Net的时候慢慢培养起来的。后来在2015年之后就开启了“百花齐放”的模式,那时候Nodejs、Vue、Golang在程序界开始暂露
分类:
编程语言 时间:
2020-08-02 10:12:56
阅读次数:
70
这篇博客还是整理从https://github.com/LyricTian/gin-admin 这个项目中学习的golang相关知识。 作者在项目中使用了 github.com/casbin/casbin 进行权限控制的,这个库自己之前也没有用过,正好可以通过这个项目学习一下使用。 当然这篇博客并不 ...
分类:
其他好文 时间:
2020-08-01 00:12:46
阅读次数:
102
Golang 推荐通过 channel 进行通信和同步,但在实际开发中 sync 包用得也非常的多,在以太坊的源码中也有很多这类应用的体现。 Go sync包提供了:sync.Mutex,sync.RMutex,sync.Once,sync.Cond,sync.Waitgroup,sync.atom ...
分类:
编程语言 时间:
2020-07-30 01:44:32
阅读次数:
86