以下go语言代码输出什么?A:5、B:不能编译;C:运行时死锁。
package main
import (
"fmt"
"time"
)
func main() {
ch1 := make(chan int)
go fmt.Println(<-ch1)
ch1 <- 5
time.Sleep(1 * time.Second)
}
答案选C。有部分人会选A,以为<-ch1是在子协程运行,但实际上是在主协程里运行的,因为这是入参。
2025-01-15 08:08:20 阅读次数:12
以下go语言代码输出什么?A:5、B:不能编译;C:运行时死锁。
package main
import (
"fmt"
"time"
)
func main() {
ch1 := make(chan int)
go fmt.Println(<-ch1)
ch1 <- 5
time.Sleep(1 * time.Second)
}
答案选C。有部分人会选A,以为<-ch1是在子协程运行,但实际上是在主协程里运行的,因为这是入参。
上一篇:低代码开发重要工具:jvs-logic(逻辑引擎)2.1.6版本功能清单
下一篇:算法题:剑指 Offer 26. 树的子结构(题目+思路+代码+注释)时空 O(N^2) O(N) 0ms击败100%、22%用户
为什么弃用了Thread.suspend Thread.resume方法
选择排序算法适用于序列(列表和向量), 维护无序前缀和有序后继,每次都从无序前缀中选取最大值,插入有序后继
并发编程——线程——Thread对象的属性和方法
总结webpack 与gulp的区别
docker学习笔记02
07 C++ - 全局变量检测增强(比较C语言)
【make】make、make install 、clean和uninstall的区别|make install 定安装路径
【shell】Linux限制命令运行时间(timeout)|规定命令运行时长
Java中的内存模型与并发控制:从基础到高级
深入探索 Java AOT 编译与 Native Image:提升 Java 启动速度和性能
文章
32168
阅读量
4662437
2025-04-09 09:17:17
2025-04-09 09:14:12
2025-03-31 08:49:25
2025-03-24 08:52:59
2025-03-18 09:59:32
2025-03-18 09:59:32
2023-02-10 10:10:49
2023-05-10 06:00:56
2023-05-17 06:38:26
2023-06-13 08:33:13
2023-07-25 08:19:50
2023-03-14 09:21:29