Go程序设计语言1.6 并发获取多个URL

  1. 云栖社区>
  2. 华章计算机>
  3. 博客>
  4. 正文

Go程序设计语言1.6 并发获取多个URL

华章计算机 2017-05-02 10:41:00 浏览1504
展开阅读全文

1.6 并发获取多个URL


Go最令人感兴趣和新颖的特点是支持并发编程。这是一个大话题,第8章和第9章将专门讨论,所以此处只是简单了解一下Go主要的并发机制、goroutine和通道(channel)。

下一个程序fetchall和前一个一样获取URL的内容,但是它并发获取很多URL内容,于是这个进程使用的时间不超过耗时最长时间的获取任务,而不是所有获取任务总的时间。这个版本的fetchall丢弃响应的内容,但是报告每一个响应的大小和花费的时间:

 

 

这有一个例子:

 

 

goroutine是一个并发执行的函数。通道是一种允许某一例程向另一个例程传递指定类型的值的通信机制。main函数在一个goroutine中执行,然后go语句创建额外的goroutine。

main函数使用make创建一个字符串通道。对于每个命令行参数,go语句在第一轮循环

网友评论

登录后评论
0/500
评论
华章计算机
+ 关注
所属团队号: 华章计算机