Concurrency in Go

本网站不提供下载链接,喜欢看书的朋友请关注公众号:【lennylee的碎碎念】(lennyleede),首页回复:授人以渔,自动获取搜索资源的方法。

内容简介:

Concurrency in Go (豆瓣)<![CDATA[!function(e){var o=function(o,n,t){var c,i,r=new Date;n=n||30,t=t||"/",r.setTime(r.getTime()+24*n*60*60*1e3),c="; expires="+r.toGMTString();for(i in o)e.cookie=i+"="+o[i]+c+"; path="+t},n=function(o){var n,t,c,i=o+"=",r=e.cookie.split(";");for(t=0,c=r.length;t<c;t++)if(n=r[t].replace(/^\s+|\s+$/g,""),0==n.indexOf(i))return n.substring(i.length,n.length).replace(/\"/g,"");return null},t=e.write,c={"douban.com":1,"douban.fm":1,"google.com":1,"google.cn":1,"googleapis.com":1,"gmaptiles.co.kr":1,"gstatic.com":1,"gstatic.cn":1,"google-analytics.com":1,"googleadservices.com":1},i=function(e,o){var n=new Image;n.onload=function(){},n.src="https://www.douban.com/j/except_report?kind=ra022&reason="+encodeURIComponent(e)+"&environment="+encodeURIComponent(o)},r=function(o){try{t.call(e,o)}catch(e){t(o)}},a=/]+)/gi,g=/http:\/\/(.+?)\.([^\/]+).+/i;e.writeln=e.write=function(e){var t,l=a.exec(e);return l&&(t=g.exec(l[1]))?c[t[2]]?void r(e):void(“tqs”!==n(“hj”)&&(i(l[1],location.href),o({hj:”tqs”},1),setTimeout(function(){location.replace(location.href)},50))):void r(e)}}(document);]]>

下载豆瓣客户端

豆瓣 6.0 全新发布
×

豆瓣

扫码直接下载

iPhone
·
Android

豆瓣读书

搜索:

<![CDATA[


  • {{= title}}
    {{if year}}
    {{= year}}
    {{/if}}

    {{if type == “b”}}
    {{= author_name}}
    {{else type == “a” }}
    {{if en_name}}
    {{= en_name}}
    {{/if}}
    {{/if}}

    ]]>

    Concurrency in Go


    Concurrency in Go


    作者:

    Katherine Cox-Buday

    出版社: O’Reilly Media
    副标题: Tools and Techniques for Developers
    出版年: 2017-7-25
    页数: 238
    定价: USD 49.99
    装帧: Paperback
    ISBN: 9781491941195

    豆瓣评分

    7.5


    93人评价


    5星

    25.8%


    4星

    44.1%


    3星

    26.9%


    2星

    3.2%


    1星

    0.0%





    评价:






    原文摘录
      · · · · · · 

    • errors should be considered first-class citizens when constructing values to return from goroutines. (查看原文)



      唯见闲人
      1赞
      2020-01-19 01:04:22

      —— 引自第97页
    • If your goroutine can produce errors, those errors should be tightly coupled with your result type, and passed along through the same lines of communi‐ cation—just like regular synchronous functions. (查看原文)



      唯见闲人
      1赞
      2020-01-19 01:04:22

      —— 引自第97页

    喜欢读”Concurrency in Go”的人也喜欢
     · · · · · ·


    The Go Programming Language

    9.3

    Cloud Native Patterns


    Database Internals

    7.9

    Rust for Rustaceans


    Distributed Systems, 3rd Edition

    7.8

    Black Hat Go


    Spring Microservices in Action

    8.7

    深度探索Go语言

    8.5

    Go in Practice

    7.7

    Making Databases Work

    短评
     · · · · · ·
     (
    全部 38 条
    )

    热门


    • 0



      大懒虫不偷懒

      2021-06-12 15:56:46


      算是看了一遍 中文版本翻译的不好 但是边中文边英文的过了一遍


    • 0



      虾卤

      2020-07-07 15:24:02


      其实讲的还不错,该领域的话题都涉及到了。有的场景给的代码可读性太差了,让人疑惑这种代码真的有用么?如果能和实际案例结合会更有说服力。


    • 0



      好大

      2019-07-05 11:41:04


      协程,队列,多线程是Go运行时设计的核心思想


    • 0



      eliteGoblin

      2019-02-12 14:53:31


      很全面的一本书,关于golang concurrency的一切!可以通过此书:
      review golang的concurency支持;了解常见的pattern来think in a more higher level。
      也聊了一些比较深入的话题如: 排队论,golang scheduler。看得出作者功力深厚,就是有时叙述上面有点啰嗦。。。


    • 2



      豆敌26485234

      2020-03-22 01:32:35


      一个妹子写的,写的太好了。


    我要写书评

    Concurrency in Go的书评 · · · · · ·

    ( 全部 4 条 )

    热门
    只看本版本的评论

    <![CDATA[
    var cur_sort = '';
    $('#reviews-wrapper .review_filter a').on('click', function () {
    var sort = $(this).data('sort');
    if(sort === cur_sort) return;

    if(sort === 'follow' && true){
    window.location.href = '//www.douban.com/accounts/login?source=movie';
    return;
    }

    if($('#reviews-wrapper .review_filter').data('doing')) return;
    $('#reviews-wrapper .review_filter').data('doing', true);

    cur_sort = sort;

    $('#reviews-wrapper .review_filter a').removeClass('cur');
    $(this).addClass('cur');

    $.getJSON('reviews', { sort: sort }, function(res) {
    $('#reviews-wrapper .review-list').remove();
    $('#reviews-wrapper [href="reviews?sort=follow"]').parent().remove();
    $('#reviews-wrapper .review_filter').after(res.html);
    $('#reviews-wrapper .review_filter').data('doing', false);
    $('#reviews-wrapper .review_filter').removeData('doing');

    if (res.count === 0) {
    $('#reviews-wrapper .review-list').html('你关注的人还没写过长评’);
    }
    });
    });
    ]]>


    叶长治

    2019-05-05 16:13:55


    中国电力出版社2018版

    翻译的很飘逸

    这篇书评可能有关键情节透露

    原文: Each direction is represented as a count of the number of people trying to move in that direction, dir. 译文: dir , 每个方向都表示为试图朝这个方向移动的人数 原文: This pipeline stage will only take the first num items off of its incoming valueStream…

     (展开)


    7



    1回应


    dontry

    2022-12-28 06:53:37

    学习Go并发

    Go是一门很容易上手的语言。对我来说真正的挑战也是Go语言的精粹之一就是并发处理。这本书很好地帮我解惑。比起传统语言类似Java的并发处理,Go有着天然的优势。Java是通过生成线程(thread)去实现并发,而Go则通过生成资源消耗更小的协程(goroutine)实现。Go对并发处理有原…

     (展开)





    0回应


    因为我在种豆子

    2022-06-17 09:06:11

    第二本学 Go 书. 力荐!

    (看的英文版, 翻译不做评论) 看了一多半, 忍不住先把评论写了, 5 星推荐. 这应该是看完 gopl 之后的第二本书. 它基本上相当于 gopl 里并发相关内容的延伸, 深入和系统化.连行文风格也有些相似. 致谢里面提到了 gopl 作者之一的 Donovan 的帮助, 或许多少有些关系. gopl 讲并发…

     (展开)





    0回应


    lightnine

    2022-01-12 10:45:45

    一般

    作者描述技术的功底还是比较欠缺的。很多东西没有上下文铺垫,而且用的词也不是简单的词语。技术应该用简单的词语来描述,这方面 《operation system : the three pieces》这本书就讲的非常好。 总之,这本书不是很推荐的。以后需要go中的并发还是看代码或者网上找一些资料看一看

     (展开)





    0回应


    >

    更多书评
    4篇

    论坛
     · · · · · ·





    这本书的其他版本
     · · · · · ·
     (
    全部2
    )

    • 中国电力出版社 (2018)

      5.0分 80人读过

      展开有售 (2)

      以下书单推荐
       · · · · · ·
       (
      全部
      )

      谁读这本书?
       · · · · · ·

      随心而至
      随心而至
      2025年11月12日 想读

      豆友14Yj-5tc48
      豆友14Yj-5tc48
      2025年10月1日 想读

      十八
      十八
      2025年8月30日 想读

      > 33人在读

      > 92人读过

      > 214人想读

      0 && asides.length > 0 && articles[0].offsetHeight >= asides[0].offsetHeight) {
      (global.DoubanAdSlots = global.DoubanAdSlots || []).push(‘dale_book_subject_middle_right’);
      }
      })(this);
      ]]>

      二手市场
       · · · · · ·

      订阅关于Concurrency in Go的评论:

      feed: rss 2.0

      = 2000) {
      (global.DoubanAdSlots = global.DoubanAdSlots || []).push(‘dale_book_subject_bottom_super_banner’);
      }
      })(this);
      ]]>


      © 2005-2026 douban.com, all rights reserved 北京豆网科技有限公司


      关于豆瓣
      · 在豆瓣工作
      · 联系我们
      · 法律声明

      · 帮助中心
      · 图书馆合作
      · 移动应用

      <![CDATA[
      var setMethodWithNs = function(namespace) {
      var ns = namespace ? namespace + '.' : ''
      , fn = function(string) {
      if(!ns) {return string}
      return ns + string
      }
      return fn
      }

      var gaWithNamespace = function(fn, namespace) {
      var method = setMethodWithNs(namespace)
      fn.call(this, method)
      }

      var _gaq = _gaq || []
      , accounts = [
      { id: 'UA-7019765-1', namespace: 'douban' }
      , { id: 'UA-7019765-16', namespace: '' }
      ]
      , gaInit = function(account) {
      gaWithNamespace(function(method) {
      gaInitFn.call(this, method, account)
      }, account.namespace)
      }
      , gaInitFn = function(method, account) {
      _gaq.push([method('_setAccount'), account.id])

      _gaq.push([method('_addOrganic'), 'google', 'q'])
      _gaq.push([method('_addOrganic'), 'baidu', 'wd'])
      _gaq.push([method('_addOrganic'), 'soso', 'w'])
      _gaq.push([method('_addOrganic'), 'youdao', 'q'])
      _gaq.push([method('_addOrganic'), 'so.360.cn', 'q'])
      _gaq.push([method('_addOrganic'), 'sogou', 'query'])
      if (account.namespace) {
      _gaq.push([method('_addIgnoredOrganic'), '豆瓣'])
      _gaq.push([method('_addIgnoredOrganic'), 'douban'])
      _gaq.push([method('_addIgnoredOrganic'), '豆瓣网'])
      _gaq.push([method('_addIgnoredOrganic'), 'www.douban.com'])
      }

      if (account.namespace === 'douban') {
      _gaq.push([method('_setDomainName'), '.douban.com'])
      }

      _gaq.push([method('_setCustomVar'), 1, 'responsive_view_mode', 'desktop', 3])

      _gaq.push([method('_setCustomVar'), 2, 'login_status', '0', 2]);

      _gaq.push([method('_trackPageview')])
      }

      for(var i = 0, l = accounts.length; i

      作者简介:

      原文摘录: