由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
[正版新书] Go语言中的高效并发技术 [美] 波拉克·瑟达 著 黄永强 译 清华大学出版社 程序语言—程序
¥ ×1
书名: | Go语言中的高效并发技术 |
出版社: | 清华大学出版社 |
出版日期 | 2024 |
ISBN号: | 9787302659747 |
|
Burak Serdar是一位软件工程师,在设计和开发可扩展的分布式企业应用程序方面拥有 30多年的经验。他曾在多家初创公司和大型公司(包括Thomson和Red Hat)担任工程师和技术主管。他是Cloud Privacy Labs的联合创始人之一,致力于中心式和去中心化系统的语义互操作性和隐私技术。Burak拥有电气和电子工程学士学位和硕士学位,以及计算机科学硕士学位。 |
|
一旦完成了本书中提供的所有示例,就会对使用并发解决问题更有信心。每个人都在抱怨并发很难,但是,正确使用语言将使开发人员可以更轻松地生成正确的程序。你应该永远记住的经验法则是:正确性优先于性能。因此,我们首先要让它正常工作,然后才能让它更快地工作。 |
|
目 录 第1章 并发—高级概述 1 1.1 技术要求 1 1.2 并发和并行 1 1.3 共享内存与消息传递 8 1.3.1 共享内存 8 1.3.2 消息传递 10 1.4 原子性、竞争、死锁和饥饿 11 1.4.1 竞争 11 1.4.2 原子性 13 1.4.3 死锁 15 1.4.4 饥饿 17 1.5 程序的属性 20 1.6 小结 21 1.7 思考题 22 1.8 延伸阅读 22 第2章 Go并发原语 23 2.1 技术要求 23 2.2 goroutine基础知识 23 2.2.1 进程 23 2.2.2 线程 24 2.2.3 调度程序 24 2.2.4 goroutine 24 2.2.5 线程和goroutine之间的区别 25 2.2.6 goroutine的运行研究 25 2.2.7 闭包 28 2.2.8 停止正在运行的goroutine 30 2.2.9 Go运行时管理goroutine的方式 30 2.3 通道和select语句 31 2.3.1 声明通道 32 2.3.2 发送和接收值 32 2.3.3 通道的初始化和关闭 33 2.3.4 无缓冲通道 35 2.3.5 使用单向通道 37 2.3.6 使用多个goroutine和通道协调工作 37 2.3.7 select语句 39 2.4 互斥体 45 2.5 等待组 50 2.6 条件变量 52 2.7 小结 57 2.8 思考题 57 第3章 Go内存模型 59 3.1 关于内存模型 59 3.2 内存操作之间的happened-before关系 60 3.3 Go并发原语的同步特性 63 3.3.1 包初始化 63 3.3.2 goroutine 64 3.3.3 通道 64 3.3.4 互斥体 66 3.3.5 原子内存操作 67 3.3.6 Map、Once和WaitGroup 68 3.4 小结 69 3.5 延伸阅读 70 第4章 一些众所周知的并发问题 71 4.1 技术要求 71 4.2 生产者-消费者问题 71 4.3 哲学家就餐问题 75 4.4 速率限制 80 4.5 小结 87 第5章 工作池和管道 89 5.1 技术要求 89 5.2 工作池 89 5.3 管道、扇出和扇入 95 5.3.1 简单管道示例 95 5.3.2 同步管道 97 5.3.3 异步管道 98 5.3.4 扇出/扇入 100 5.3.5 有序扇入 105 5.4 小结 109 5.5 思考题 110 第6章 错误和恐慌处理 111 6.1 错误处理机制 111 6.1.1 常见错误处理模式 112 6.1.2 常见错误处理模式的变体 115 6.1.3 管道 117 6.1.4 服务器 117 6.2 恐慌 118 6.3 小结 121 第7章 Timer和Ticker 123 7.1 技术要求 123 7.2 Timer—稍后运行一些东西 123 7.3 Ticker—定期运行一些东西 126 7.4 心跳 128 7.5 小结 130 第8章 并发处理请求 131 8.1 技术要求 131 8.2 上下文、取消和超时 131 8.2.1 上下文 132 8.2.2 取消 132 8.2.3 超时 134 8.2.4 处理上下文中的值 135 8.3 后端服务 137 8.3.1 构建一个简单的TCP服务器 137 8.3.2 容器化后端服务 139 8.3.3 构建一个简单的HTTP服务 140 8.3.4 分配工作和收集结果 142 8.3.5 信号量—限制并发 145 8.4 流传输数据 146 8.4.1 构建一个流传输应用程序 146 8.4.2 处理多个流 155 8.5 小结 160 第9章 原子内存操作 161 9.1 技术要求 161 9.2 原子内存操作的内存保证 161 9.3 比较和交换操作 163 9.4 原子的实际用途 164 9.4.1 计数器 164 9.4.2 心跳和进度表 165 9.4.3 取消 168 9.4.4 检测变化 169 9.5 小结 169 第10章 解决并发问题 171 10.1 技术要求 171 10.2 解读堆栈跟踪信息 171 10.2.1 哲学家进餐程序的死锁问题 171 10.2.2 链表指针问题 174 10.3 检测故障并修复 176 10.3.1 正确认识失败 177 10.3.2 找出失败的原因 177 10.3.3 尝试从失败中恢复 182 10.4 调试异常 183 10.5 小结 185 10.6 延伸阅读 185 |
|
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格