1. 首页
  2. 编程语言
  3. 其他
  4. 解决golang sync.Wait()不执行的问题

解决golang sync.Wait()不执行的问题

上传者: 2021-06-12 17:18:59上传 PDF文件 83.96 KB 热度 18次

goroutine 似乎不用解释太多,可以利用它实现多线程,也可以利用它来实现异步事件。原因关键字go是异步的,当执行到go,不会立即执行go 后面的内容,而且继续往下执行。此时wg.Add还没有来得及执行,wg.Wait()就已经执行,即不会发生等待,进程就结束了。Don't worry是否有存在担心,方法一的时间等待,等待的时候不够长,还是让wg.Add来不及执行。一纳秒,wg.Add也来得及执行,因为主goroutine会被切换到睡眠状态,go进程必须要取一个线程来执行,就会取到wg.Add这个线程,接下来就顺理成章了。

用户评论