初级会员
  • 第 60535 位会员
  • tanwen321
  • 2021-03-02 04:42:53
  • Offline
  • 20 7

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 应该是和judge通道没关系,是ch通道和wg的问题,主进程你用wg等待子进程执行完成,子进程又在等待主进程的ch读取,所以死锁了 去掉wg就行,改成这样试试 ``` func main() { fmt.Scanf("%d %d", &n, &k) for i := 0; i < n; i++ { fmt.Scanf("%d %d", &arr[i].h, &arr[i].w) } // wg.Add(1) go check() go func() { l, r := 1, 100000 for l < r { mid := (l + r + 1) >> 1 ch <- mid if <-judge { l = mid } else { r = mid - 1 } } ch <- l // wg.Done() }() fmt.Println(<-ch) // wg.Wait() } ```