摘要: go 互斥锁与读写锁 互斥锁 互斥锁控制下的多个写操作之间、多个读操作之间是互斥的,并且写操作与读操作之间也是互斥的。互斥锁适用于读写不确定场景,即读写次数没有明显的区别,并且只允许只有一个读或者写的场景,所以该锁叶叫做全局锁,也就是完全互斥。互斥锁是传统的并发程序对共享资源进行访问控制的主要手段。 阅读全文
posted @ 2020-02-22 20:41 -零 阅读(843) 评论(0) 推荐(0) 编辑
摘要: 工作池与消息队列框架 Woker Pool:工作池中有固定数量的协程,每一个协程对应一个消息任务队列。 消息任务队列:消息任务队列,本质就是go中的缓冲信道,任务在缓冲信道中传输,等待被处理。 TaskQueue:消息任务队列的集合,本质就是 client Handler Reader:在这里假设为 阅读全文
posted @ 2020-02-22 20:21 -零 阅读(945) 评论(0) 推荐(0) 编辑
摘要: 目录 基本Tcp服务器 简单使用 源码 基本Tcp服务器 Server模块:服务器配置信息、启动、停止、运行、添加路由、路由管理器、链接管理器等。 链接属性配置模块:启动链接、停止链接、获取链接对象等。 消息封装:消息id、长度、内容、及消息的封包与解包等。 基础路由模块:提供路由接口及基类,开启服 阅读全文
posted @ 2020-02-22 19:45 -零 阅读(556) 评论(0) 推荐(0) 编辑
摘要: 泄露情况分类 死循环 channel 导致的泄露 传统同步机制导致的泄露 死循环 go协程单纯地陷入死循环中。 chanel 引起的泄露 发送不接收 向没有接收者的channel发送信息。我们知道,发送者一般都会配有相应的接收者。理想情况下,我们希望接收者总能接收完所有发送的数据,这样就不会有任何问 阅读全文
posted @ 2020-02-22 12:40 -零 阅读(755) 评论(0) 推荐(0) 编辑
摘要: 原文链接 目录 安装 发送请求 传递URL参数 响应内容 Json响应内容 定制请求头 BasicAuth 认证 JSON请求 Cookie 超时 关闭证书验证 调试模式 连接操作 Respone对象 安装 go get https://github.com/kirinlabs/HttpReques 阅读全文
posted @ 2020-02-22 11:09 -零 阅读(5011) 评论(0) 推荐(0) 编辑