摘要: title: Go语言条件变量 tags: Go语言并发 categories: Go语言标准库 Go语言条件变量是基于互斥锁的,也就是通过互斥锁实现的。 条件变量作用:条件变量并不能保护临界区和共享资源,主要是用来控制访问空闲资源的协程的状态。对阻塞的协程进行等待和唤醒动作。当满足某个条件时,协程 阅读全文
posted @ 2021-04-19 22:04 月下繁星杨 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 数组和切片的概念 数组类型的值(以下简称数组)的长度是固定的,而切片类型的值(以下简称切片)是可变长的。数组的长度在声明它的时候就必须给定,并且之后不会再改变。可以说,数组的长度是其类型的一部分。比如,[1]string和[2]string就是两个不同的数组类型。而切片的类型字面量中只有元素的类型, 阅读全文
posted @ 2021-04-19 22:02 月下繁星杨 阅读(60) 评论(0) 推荐(0) 编辑
摘要: sync.Mutex简单介绍 syncM.Mutex是Go语言当中最常用的互斥锁,用来解决高并发下共享资源的访问问题。在并发下多个协程对同一个数据同时获取和修改,然后写入的过程中会有冲突,导致最终数据出错。 func main() { var count = 0 var wg sync.WaitGr 阅读全文
posted @ 2021-04-19 22:01 月下繁星杨 阅读(399) 评论(0) 推荐(0) 编辑
摘要: go语言早期的Map并不是并发安全的,在1.9版本才加入的sync.Map sync.Map的键和值都是interface,所以可以存储任何类型的数据。不过与Map一样,键的类型不能是函数,字典和切片类型,这是因为程序需要在编译期间对键值进行检查,不正确的键值类型会panic 在日常使用时可以对sy 阅读全文
posted @ 2021-04-19 22:00 月下繁星杨 阅读(463) 评论(0) 推荐(0) 编辑
摘要: 简单例子 var name string flag.StringVar(&name, "名字", "小王", "请输入名字") flag.Parse() //运行命令:go run main.go -name="小红" //注意等号前后不能用空格。 //运行命令:go run main.go --h 阅读全文
posted @ 2021-04-19 21:58 月下繁星杨 阅读(240) 评论(0) 推荐(0) 编辑
摘要: Linux安装Redis 下载安装包 wget http://download.redis.io/releases/redis-?.?.?.tar.gz 解压 tar –xvf 文件名.tar.gz 编译安装 make install [destdir=/目录] 服务启动 默认配置启动 redis- 阅读全文
posted @ 2021-04-19 21:55 月下繁星杨 阅读(44) 评论(0) 推荐(0) 编辑
摘要: ip地址的查看 windows下在cmd中使用ipconfig命令。linux下使用ifconfig或者ip addr。 无线局域网适配器 WLAN: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::9f8:3aa8: 阅读全文
posted @ 2021-04-19 15:24 月下繁星杨 阅读(343) 评论(0) 推荐(0) 编辑
摘要: TCP协议介绍 tcp协议是面向连接的,在传输数据前会先建立一条连接,互联网络与单个网络有很大的不同,因为互联网络的不同部分可能有截然不同的拓扑结构、带宽、延迟、数据包大小和其他参数。能够动态地适应互联网络的这些特性,而且具备面对各种故障时的健壮性 TCP包头格式 | 源端口号(16位) | 目的端 阅读全文
posted @ 2021-04-19 15:23 月下繁星杨 阅读(164) 评论(0) 推荐(0) 编辑