mirror of
https://github.com/gopl-zh/gopl-zh.github.com.git
synced 2024-12-25 22:38:56 +00:00
Update ch8-08.md
This commit is contained in:
parent
5230387840
commit
e1358aac86
@ -131,7 +131,7 @@ $ ./du2 -v $HOME /usr /bin /etc
|
|||||||
213201 files 62.7 GB
|
213201 files 62.7 GB
|
||||||
```
|
```
|
||||||
|
|
||||||
然而这个程序还是会花上很长时间才会结束。无法对walkDir做并行化处理没什么别的原因,无非是因为磁盘系统并行限制。下面这个第三个版本的du,会对每一个walkDir的调用创建一个新的goroutine。它使用sync.WaitGroup (§8.5)来对仍旧活跃的walkDir调用进行计数,另一个goroutine会在计数器减为零的时候将fileSizes这个channel关闭。
|
然而这个程序还是会花上很长时间才会结束。完全可以并发调用walkDir,从而发挥磁盘系统的并行性能。下面这个第三个版本的du,会对每一个walkDir的调用创建一个新的goroutine。它使用sync.WaitGroup (§8.5)来对仍旧活跃的walkDir调用进行计数,另一个goroutine会在计数器减为零的时候将fileSizes这个channel关闭。
|
||||||
|
|
||||||
<u><i>gopl.io/ch8/du3</i></u>
|
<u><i>gopl.io/ch8/du3</i></u>
|
||||||
```go
|
```go
|
||||||
|
Loading…
Reference in New Issue
Block a user