背景说明

假设有一个分布式文件系统,现需要从该系统中并发下载一部分文件到本地机器。

已知该文件系统的部分节点ip, 以及需要下载的文件fileID列表,并能通过这些信息来拼接下载地址。

其中节点ip列表保存在xx_node.txt, 要下载的fileID保存在xx_fileID.txt中。

代码示例

小结

下载时没有用到默认的http Client, 并指定了超时时间;

下载文件时调用了系统调用, goroutine会被挂起;

下载文件完成后会唤醒被挂起的goroutine, 该goroutine执行完后面的代码后便退出;

全局超时控制,超时后主线程退出。

以上这篇golang并发下载多个文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持悠悠之家。