以下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 阅读次数:3
以下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是在子协程运行,但实际上是在主协程里运行的,因为这是入参。
下一篇:算法题:剑指 Offer 35. 复杂链表的复制(题目+思路+代码+注释)时空 O(N) O(N) 0ms击败100%、47%用户
推箱子自动求解。
Java 编译错误: java.lang.ExceptionInInitializer com.sun.tools.javac.code.TypeTags
进程是计算机科学中非常重要的概念,它是操作系统中的一个基本单位,负责执行程序并管理资源。在JavaEE开发中,进程的概念同样非常重要,因为JavaEE应用程序通常是多线程的,每个线程都是一个进程的一部分。
如何区分进程、线程和协程?看这篇就够了!
CMake配置VTK编译QT程序路径问题解决过程
2维数组引用的测试
联锁(RedissonMultiLock)对象可以将多个RLock对象关联为一个联锁,实现加锁和解锁功能。每个RLock对象实例可以来自于不同的Redisson实例。
java基础阶段几个必会面试题
PL真有意思(六):子程序和控制抽象
模拟oracle死锁并确认相关表以及行等信息
文章
28936
阅读量
3906919
2025-01-14 09:12:24
2024-12-27 07:59:04
2024-12-27 07:57:46
2024-12-24 10:24:23
2024-12-24 10:24:23
2024-12-23 09:17:02
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