(wf, rf func(), wc, rc int)
| 53 | } |
| 54 | |
| 55 | func do(wf, rf func(), wc, rc int) { |
| 56 | start := time.Now() |
| 57 | // wc个并发写操作 |
| 58 | for i := 0; i < wc; i++ { |
| 59 | wg.Add(1) |
| 60 | go wf() |
| 61 | } |
| 62 | // rc个并发读操作 |
| 63 | for i := 0; i < rc; i++ { |
| 64 | wg.Add(1) |
| 65 | go rf() |
| 66 | } |
| 67 | wg.Wait() |
| 68 | cost := time.Since(start) |
| 69 | fmt.Printf("x:%v cost:%v\n", x, cost) |
| 70 | } |
| 71 | |
| 72 | func main() { |
| 73 | // 使用互斥锁,10并发写,1000并发读 |