V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
The Go Programming Language
http://golang.org/
Go Playground
Go Projects
Revel Web Framework
334862132
V2EX  ›  Go 编程语言

go 语言 channel 在工作场景中的应用

  •  
  •   334862132 · 2019-11-09 14:44:25 +08:00 · 4387 次点击
    这是一个创建于 1845 天前的主题,其中的信息可能已经有所发展或是发生改变。

    go 语言小白求问,channel 在实际 web 开发中应用的场景多么?一般都什么时候用?我感觉大部分时候根本用不着 channel 啊,为什么面试时候那么爱考?

    10 条回复    2019-12-16 17:18:33 +08:00
    Carseason
        1
    Carseason  
       2019-11-09 14:49:16 +08:00   ❤️ 1
    通讯 多任务处理等
    alamaya
        2
    alamaya  
       2019-11-09 15:11:07 +08:00   ❤️ 1
    go 不就是高并发见长吗,不考这些干嘛
    至于写写业务根本就用不到,面试的时候才不管
    lhx2008
        3
    lhx2008  
       2019-11-09 15:37:11 +08:00 via Android   ❤️ 1
    比如说要查多次数据库,可以 go 出去然后 channel 收集一下。也可以当任务队列使用,如果有些任务需要几秒的时间,可以先发到 channel,再拉 go 起来做。
    optional
        4
    optional  
       2019-11-09 15:50:22 +08:00 via Android
    其它语言用线程池和无锁队列的地
    keepeye
        5
    keepeye  
       2019-11-09 15:58:43 +08:00
    请你写一个程序打印 hello world 然后让程序不要退出,捕获 ctrl-c 之后再退出
    再比如请你用 10 个线程不停产生一个数字,然后另起一个线程求所有线程所产生的所有数字之和
    TheCure
        6
    TheCure  
       2019-11-09 16:13:28 +08:00
    whoami9894
        7
    whoami9894  
       2019-11-09 16:36:35 +08:00
    GO 的并发模型核心不就是 channel 吗,不考这个考啥
    reus
        8
    reus  
       2019-11-09 16:50:16 +08:00
    goroutine 间通讯当然要用到
    用不着?说明你菜,正好被面试筛掉
    CEBBCAT
        9
    CEBBCAT  
       2019-12-09 01:10:58 +08:00 via Android
    前些天用 Go 写了一个客服系统,Chanel 用得很顺手,两端互通很方便。另外问一下楼主去哪了?公司在招实习生吗?找岗位真是头疼
    334862132
        10
    334862132  
    OP
       2019-12-16 17:18:33 +08:00
    @CEBBCAT
    饿,找了个区块链公司,用 go 做 web,不过工作中写了一个月只用了一次多线程,也没用 channel 通讯
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5177 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:42 · PVG 17:42 · LAX 01:42 · JFK 04:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.