编程开发-Go-中级
编程开发-Go-中级
1. 下面关于协程说法错误的是(单选题)
A. goroutine由Go运行时调度
B. 线程由操作系统内核调度
C. 协程栈空间固定不可扩容
D. 协程创建开销远小于线程
2. Go调度模型中,M最大数量默认由什么控制(单选题)
A. GOMAXPROCS
B. 操作系统线程上限
C. 协程数量
D. 内存大小
3. 本地运行队列满了之后,新建G协程会放入(单选题)
A. 全局运行队列
B. 直接丢弃
C. 阻塞队列
D. M绑定队列
4. 通道`ch := make(chan int, 0)`属于(单选题)
A. 无缓冲通道
B. 有缓冲通道
C. 只读通道
D. 只写通道
5. 只读通道声明正确写法(单选题)
A. var ch <-chan int
B. var ch chan<- int
C. var ch chan int
D. var ch <-int
6. 只写通道正确声明(单选题)
A. chan<- int
B. <-chan int
C. chan int
D. in chan
7. 关闭通道后再次发送数据结果(单选题)
A. 阻塞
B. panic
C. 发送成功
D. 忽略数据
8. select配合for遍历通道,正确退出条件(单选题)
A. 通道关闭且数据读完
B. 缓冲区为空就退出
C. 读取一次退出
D. 协程结束自动退出
9. 下列不属于sync包同步原语的是(单选题)
A. Mutex
B. WaitGroup
C. pool
D. RWMutex
10. WaitGroup中Done方法本质是(单选题)
A. 计数器减1
B. 计数器加1
C. 阻塞等待
D. 唤醒协程