标签题目
Go相关面试题
Go 协程和线程有什么区别?
Go 协程和线程有什么区别?这道腾讯牛客题的关键是围绕“进程、线程与 Go 协程差异”讲清概念、机制、取舍和边界。进程是资源隔离单位,线程是内核调度实体,Go 协程 goroutine 是由 Go runtime 管理的轻量用户态执行单元。goroutine 不是 OS 线程,而是通过 GMP 调度模型以 M:N 方式复用到少量内核线程上运行。
Go 中主协程如何等待其他协程执行完再继续?
Go 中主协程如何等待其他协程执行完再继续?这道腾讯牛客题的关键是围绕“Go WaitGroup 等待 goroutine”讲清概念、机制、取舍和边界。Go 中主 goroutine 等待其他 goroutine 最常用 sync.WaitGroup:启动前 Add 任务数,每个 goroutine defer Done,主 goroutine 调 Wait 阻塞直到计数归零。需要错误传播和取消时用 errgroup.WithContext 更合适。