IT书架 本次搜索耗时 1.618 秒,为您找到 474 个相关结果.
  • 11.通道的高级玩法

    640 2023-12-29 《Go语言核心36讲》
    11 | 通道的高级玩法 11 | 通道的高级玩法 我们已经讨论过了通道的基本操作以及背后的规则。今天,我再来讲讲通道的高级玩法。 首先来说说单向通道。我们在说“通道”的时候指的都是双向通道,即:既可以发也可以收的通道。 所谓单向通道就是,只能发不能收,或者只能收不能发的通道。一个通道是双向的,还是单向的是由它的类型字面量体现的。 还记得我们在...
  • 6 玩家匹配队列

    玩家匹配队列 上一章的答案 游戏数据管理 进入匹配队列 玩家匹配队列 联机逻辑开发进度:■■□□□□□□□□□□ 本章结束开发进度:■■■■■□□□□□□□ 上一章的答案 index.html : var app = new Vue ({ el : '#app' , data : { ...
  • 12. 业务架构:如何设计、开发简洁架构?

    4 层架构开发 Model 层代码开发 Store 层代码开发 Biz 层代码开发 Controller 层代码开发 编译、启动、测试 小结 提示:本节课最终代码为:feature/s17 。 开发完基础功能之后,就需要开发业务逻辑相关的代码了。因为相比于基础功能,业务逻辑代码占了整个代码仓库代码量的绝大部分,并且业务代码也更加复杂。...
  • 358.Go 语言协程怎么跑的

    Go 语言协程怎么跑的 Go 语言协程怎么跑的 参考解析 题目来源:字节跳动 答案: 设计原理 今天的 Go 语言调度器有着优异的性能,但是如果我们回头看 Go 语言的 0.x 版本的调度器会发现最初的调度器不仅实现非常简陋,也无法支撑高并发的服务。调度器经过几个大版本的迭代才有今天的优异性能,历史上几个不同版本的调度器引入了不同的改...
  • 源码 7:金枝玉叶 —— 探索「基数树」内部

    源码 7:金枝玉叶 —— 探索「基数树」内部 应用 结构 增删节点 思考 源码 7:金枝玉叶 —— 探索「基数树」内部 Rax 是 Redis 内部比较特殊的一个数据结构,它是一个有序字典树 (基数树 Radix Tree),按照 key 的字典序排列,支持快速地定位、插入和删除操作。Redis 五大基础数据结构里面,能作为字典使用的有 ha...
  • 集群 3:众志成城 —— Cluster

    集群 3:众志成城 —— Cluster 槽位定位算法 跳转 迁移 容错 网络抖动 可能下线 (PFAIL-Possibly Fail) 与确定下线 (Fail) Cluster 基本使用 槽位迁移感知 集群变更感知 思考 & 作业 集群 3:众志成城 —— Cluster RedisCluster 是 Redis 的亲儿子,...
  • 18.if语句、for语句和switch语句

    596 2023-12-29 《Go语言核心36讲》
    18 | if语句、for语句和switch语句 问题解析 18 | if语句、for语句和switch语句 在上两篇文章中,我主要为你讲解了与 go 语句、goroutine和Go语言调度器有关的知识和技法。 内容很多,你不用急于完全消化,可以在编程实践过程中逐步理解和感悟,争取夯实它们。 现在,让我们暂时走下神坛,回归民间。我今天要讲的...
  • 14.接口类型的合理运用

    610 2023-12-29 《Go语言核心36讲》
    14 | 接口类型的合理运用 前导内容:正确使用接口的基础知识 问题解析 知识扩展 14 | 接口类型的合理运用 你好,我是郝林,今天我们来聊聊接口的相关内容。 前导内容:正确使用接口的基础知识 在Go语言的语境中,当我们在谈论“接口”的时候,一定指的是接口类型。因为接口类型与其他数据类型不同,它是没法被实例化的。 更具体地说,我们既不...
  • 3. 生产者客户端开发

    生产者-客户端开发 客户端开发 必要的参数配置 消息的发送 生产者-客户端开发 从编程的角度而言,生产者就是负责向 Kafka 发送消息的应用程序。在 Kafka 的历史变迁中,一共有两个大版本的生产者客户端:第一个是于 Kafka 开源之初使用 Scala 语言编写的客户端,我们可以称之为旧生产者客户端(Old Producer)或 Scal...
  • 219.协程底层怎么实现?

    协程底层怎么实现? 协程底层怎么实现? 题目来源:字节跳动 答案1: G (goroutine) G是goroutine的头文字, goroutine可以解释为受管理的轻量线程, goroutine使用go关键词创建. 举例来说, func main() { go other() }, 这段代码创建了两个goroutine,一个是ma...