Go并发编程实战(第2版)

企业采购书卡请拔打028-83157469,团购书目请拨打19113427458(法定工作日9:00-17:00)

定  价 :
¥ 79.00
文 轩 价 :
¥64.80 (8.2折)
库  存 :
现在有货
作  者 :
郝林
所属分类 :
图书 > 行业职业 > 计算机 > 编程语言
促销活动 :
❤图书音像单笔满100减30!(特价图书、电子书除外)
❤老客户回馈,积分换礼券,购书更实惠
❤图书订单满39元包邮,不足收取运费6元(新疆西藏运费每单20元)
详情 >>
购买数量 :
- +
立即购买
服  务 :
由"文轩网"直接销售和发货,并提供售后服务
正品低价| 闪电发货|货到付款| 高效退换货
  • 作 者: 郝林
  • 出版社: 人民邮电出版社
  • 出版时间:2017-04-01
  • 开 本:16开
  • 页 数:370
  • 印刷时间:2017-04-01
  • 字 数:472千字
  • 装 帧:平装
  • 语  种:中文
  • 版 次:2
  • 印 次:1
  • I S B N:9787115452511

目录

第1章初识Go语言 1
1.1语言特性1
1.2安装和设置2
1.3工程结构3
1.3.1工作区3
1.3.2GOPATH4
1.3.3源码文件5
1.3.4代码包8
1.4标准命令简述11
1.5问候程序13
1.6小结14
第2章语法概览15
2.1基本构成要素15
2.1.1标识符15
2.1.2关键字16
2.1.3字面量17
2.1.4操作符17
2.1.5表达式19
2.2基本类型20
2.3高级类型22
2.3.1数组23
2.3.2切片23
2.3.3字典24
2.3.4函数和方法25
2.3.5接口28
2.3.6结构体29
2.4流程控制30
2.4.1代码块和作用域30
2.4.2if语句32
2.4.3switch语句32
2.4.4for语句34
2.4.5defer语句36
2.4.6panic和recover38
2.5聊天机器人40
2.6小结44
第3章并发编程综述45
3.1并发编程基础45
3.1.1串行程序与并发程序46
3.1.2并发程序与并行程序46
3.1.3并发程序与并发系统47
3.1.4并发程序的不确定性47
3.1.5并发程序内部的交互47
3.2多进程编程48
3.2.1进程48
3.2.2关于同步55
3.2.3管道60
3.2.4信号65
3.2.5socket74
3.3多线程编程97
3.3.1线程98
3.3.2线程的同步107
3.4多线程与多进程125
3.5多核时代的并发编程126
3.6小结130
第4章Go的并发机制131
4.1原理探究131
4.1.1线程实现模型132
4.1.2调度器142
4.1.3更多细节158
4.2goroutine160
4.2.1go语句与goroutine160
4.2.2主goroutine的运作166
4.2.3runtime包与goroutine166
4.3channel169
4.3.1channel的基本概念169
4.3.2单向channel180
4.3.3for语句与channel184
4.3.4select语句185
4.3.5非缓冲的channel190
4.3.6time包与channel192
4.4实战演练:载荷发生器198
4.4.1参数和结果199
4.4.2基本结构201
4.4.3初始化206
4.4.4启动和停止212
4.4.5调用器和功能测试221
4.5小结231
第5章同步232
5.1锁的使用232
5.1.1互斥锁232
5.1.2读写锁236
5.1.3锁的完整示例238
5.2条件变量244
5.3原子操作247
5.3.1增或减247
5.3.2比较并交换249
5.3.3载入250
5.3.4存储251
5.3.5交换251
5.3.6原子值252
5.3.7应用于实际256
5.4只会执行一次257
5.5WaitGroup258
5.6临时对象池262
5.7实战演练——Concurrent Map265
5.8小结280
第6章网络爬虫框架设计和实现281
6.1网络爬虫与框架281
6.2功能需求和分析283
6.3总体设计284
6.4详细设计286
6.4.1基本数据结构286
6.4.2接口的设计293
6.5工具的实现309
6.5.1缓冲器309
6.5.2缓冲池311
6.5.3多重读取器317
6.6组件的实现318
6.6.1内部基础接口319
6.6.2组件注册器321
6.6.3下载器323
6.6.4分析器325
6.6.5条目处理管道328
6.7调度器的实现329
6.7.1基本结构329
6.7.2初始化331
6.7.3启动333
6.7.4停止343
6.7.5其他方法344
6.7.6总结345
6.8一个简单的图片爬虫346
6.8.1概述346
6.8.2命令参数346
6.8.3初始化调度器348
6.8.4监控调度器354
6.8.5启动调度器364
6.9扩展与思路365
6.10本章小结368
附录AGo语言的学习资源369

作者简介

郝林,从业12年有余的软件工匠,靠前知名的Go语言技术布道者,Go语言北京用户组和GoHackers社群的发起人和组织者,多套免费在线Go语言教程的作者,深信Go语言在人工智能时代和机器人时代也能大放异彩的科技信徒。

精彩内容

    靠前章初识Go语言
    在讲解怎样用Go语言之前,我们先介绍Go语言的特性、基础概念和标准命令。
    1.1语言特性
    我们可以用几个关键词或短语来概括Go语言的主要特性。
    开放源代码。这显示了Go作者开放的态度以及营造语言生态的决心。顺便说一句,Go本身就是用Go语言编写的。
    静态类型和编译型。在Go中,每个变量或常量都必须在声明时指定类型,且不可改变。另外,程序必须通过编译生成归档文件或可执行文件,而后才能被使用或执行。不过,其语法很好简洁,就像一些解释型脚本语言那样,易学易用。
    跨平台。这主要是指跨计算架构和操作系统。目前,它巳经支持绝大部分主流的计算架构和操作系统,并且这个范围还在不断扩大。只要下载与之对应的Go语言安装包,并且经过简单的安装和设置,就可以使Go就绪了。除此之外,在编写Go语言程序的过程中,我们几乎感觉不到不同平台的差异。
    自动垃圾回收。程序在运行过程中的垃圾回收工作一般由Go运行时系统全权负责。不过,Go也允许我们对此项工作进行干预。
    原生的并发编程。拥有自己的并发编程模型,其主要组成部分有goroutine(也可称为Go例程)和channel(也可称为通道)。另外,还拥有一个特殊的关键字go。
    完善的构建工具。它自带了很多强大的命令和工具,通过它们,可以很轻松地完成Go程序的获取、编译、测试、安装、运行、分析等一系列工作。
    多编程范式。Go支持函数式编程。函数类型为靠前等类型,可以方便地传递和赋值。此外,它还支持面向对象编程,有接口类型与实现类型的概念,但用嵌入替代了继承。

媒体评论

郝老师这一次改版,可谓更加详尽地解读了Go语言的很多细节,透彻地剖析了Go所涉及的编程思想,同时书中深入浅出地演示了丰富的Go应用实例。读完这本书,你不一定就能成为大牛,但如果你真的能把这本书读懂、吃透,那么你离Go高手肯定不远啦。
——谢孟军,GopherChina创始人
Go是分布式数据库TiDB的优选语言,向每一位想学习Go语言的程序员推荐这本书。
——刘奇,PingCAP联合创始人&CEO
Go语言真是越来越流行了!它能够胜任的技术领域一直在不断增多。这本书在靠前起到了很大作用,能够深入理解Go语言的程序员变多了,公司招聘起来也更方便了。灵雀云的主力开发语言已经有效转向了Go。
——左玥,灵雀云创始人&CEO
Go语言的掌握过程是一个渐进过程,需要一本实战型的百科全书来应对。我一直和团队推荐这本《Go并发编程实战》,反馈好评度高。现在第2版推出,继续强力推荐!
——肖德时,数人云联合创始人&CTO
本书不仅介绍了Go的语法,还深入解释了Go语言实现并发的机制。读者跟着本书既可以学会Go语言,还可以学会怎样用Go语言写好并发程序。
——李兆海,资历Go程序开发者,Google SRE
Go是一门简洁强大又不失灵活性的语言,在业界正得到越来越广泛的应用。本书系作者多年Go实践经验的总结,相信会帮助读者更好地使用该语言,并规避掉很多因使用不当造成的软件缺陷。
——田琪,京东专家架构师

主编推荐

靠前知名Go语言技术布道者的再造之作
李响、谢孟军、刘奇、左玥、肖德时、Googol Lee、田琪等业内大咖倾心力捧
深入Go语言及其并发原理,挖出并发编程zui佳实践,百样示例助你成为多核计算时代的Go程序高手

内容简介

本书首先介绍了Go语言的优势特性、安装设置方法、工程结构、标准命令和工具、语法基础、数据类型以及流程控制方法,接着阐述了与多进程编程和多线程编程有关的知识,然后重点介绍了goroutine、channel以及Go提供的传统同步方法,之后通过一个完整实例——网络爬虫框架进一步阐述Go语言的哲学和理念,同时分享作者在多年编程生涯中的一些见解和感悟。与上一版相比,本书不仅基于Go 1.8对上一版进行了全面更新,而且更深入地描绘了Go运行时系统的内部机理,并且大幅改进了示例代码。本书适用于有一定计算机编程基础的从业者以及对Go语言编程感兴趣的爱好者,很好适合作为Go语言编程进阶教程。

价格说明

定价:为出版社全国统一定价;

文轩价:为商品的销售价,是您最终决定是否购买商品的依据;受系统缓存影响,最终价格以商品放入购物车后显示的价格为准;

关于新广告法声明

新广告法规定所有页面信息中不得出现绝对化用词和功能性用词。

本店非常支持新广告法,但为了不影响消费者正常购买,页面明显区域本店已在排查修改,对于不明显区域也将会逐步排查并修改,我们此郑重声明:本店所有页面上的绝对化用词与功能性用词在此声明全部失效,不作为赔付理由。涉及“教育部声明”中的商品,均不代表教育部指定、推荐的具体版本,仅代表该商品的内容为指定、推荐书目。因极限用词引起的任何形式的商品赔付,本店不接收且不妥协。希望消费者理解并欢迎联系客服帮助完善,也请职业打假人士高抬贵手。