练习

    • 使用缓冲通道实现一个并发版本的 。
    • 接着,使用共享内存实现一个并发版本的 wx(1)
    • 最后,使用监视 goroutine 实现一个并发版本的 wx(1)
    • workerPool.gosize 全局变量为 1 时会发生什么?为什么?
    • 修改 workerPool.go 的源码来实现 wc(1) 支持命令行功能。
    • 修改 的源码来实现 clientsdata 缓冲通道的大小可以通过命令行参数来定义。
    • 修改 simpleContext.go 源码,把在 f1(), f2(), f3() 中使用的匿名函数改为一个单独的函数。这个改动的难点是什么?
    • 修改 simpleContext.go 的源码,让 ,f2()f3() 函数使用外部创建的 Context 变量而不是它们自己的。
    • 修改 useContext.go 源码,使用 context.WithDeadline() 或者 context.WithCancel() 来代替 context.WithTimeout()