gpt4 book ai didi

go - 如何调整用于下载 N 个文件的 goroutines 的数量?

转载 作者:IT王子 更新时间:2023-10-29 01:43:07 26 4
gpt4 key购买 nike

我正在制作一个 Golang 程序,它需要下载 N 个文件,然后对每个文件执行一些任务。特别是对每个 SWF 文件都有一个操作管道:

  1. 发起http get请求获取文件
  2. 保存在本地
  3. 将其转换为 PNG

按顺序执行可能效率很低。使用 N 个 goroutine 也可能不是最优的。

如何选择/限制goroutines的数量?

最佳答案

A goroutine设计轻巧:

A goroutine has a simple model: it is a function executing concurrently with other goroutines in the same address space. It is lightweight, costing little more than the allocation of stack space. And the stacks start small, so they are cheap, and grow by allocating (and freeing) heap storage as required.

限制不在于您生成的 goroutine 的数量,而在于它们的作用。

在您的情况下,同时打开文件(以写入下载的流)可以满足 limit of number of opened files per process or in general

关于go - 如何调整用于下载 N 个文件的 goroutines 的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25764239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com