dsnpjz6907 2016-06-22 03:03
浏览 106
已采纳

Golang中Go例程的开销

So I understand go routines have low overhead, but I'm wondering just how good they are. If I have a server that handles incoming messages how does creating a new go routine to process each incoming message compare to using the standard producer/consumer model with channels?

Like is it reasonable to have a high performance go server that spawns new go routines for ever incoming request.

  • 写回答

2条回答 默认 最新

  • dongpo0409 2016-06-22 03:09
    关注

    The built-in http package uses a goroutine for each connection and there are numerous benchmarks showing it being able to handle thousands of concurrent users. So unless you have many connections with many messages each, I'd say it's reasonable to create a new goroutine for each message. And in any case, go has a nice benchmarking feature you can use to verify your assumptions.

    https://golang.org/src/net/http/server.go#L2137

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 opencv 无法读取视频
  • ¥15 用matlab 实现通信仿真
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了
  • ¥15 python:excel数据写入多个对应word文档
  • ¥60 全一数分解素因子和素数循环节位数
  • ¥15 ffmpeg如何安装到虚拟环境
  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图