Contents

Golang问题汇总 - (持续更新...)

题号 题目
1 Golang中除了加Mutex锁以外还有哪些方式安全读写共享变量
2 无缓冲Chan的发送和接收是否同步
3 Golang并发机制以及它所使用的CSP并发模型
4 Golang中常用的并发模型
5 Go中对nil的Slice和空Slice的处理是一致的吗
6 协程和线程和进程的区别
7 Golang的内存模型中为什么小对象多了会造成GC压力
8 Go中数据竞争问题怎么解决
9 什么是channel,为什么它可以做到线程安全
10 Golang垃圾回收算法
11 GC的触发条件
12 Go的GPM如何调度
13 并发编程概念是什么
14 Go语言的栈空间管理是怎么样的
15 Goroutine和Channel的作用分别是什么
16 怎么查看Goroutine的数量
17 Go中的锁有哪些
18 怎么限制Goroutine的数量
19 Channel是同步的还是异步的
20 Goroutine和线程的区别
21 Go的Struct能不能比较
22 Go的defer原理是什么
23 Go的select可以用于什么
24 Go的Context包的用途是什么
25 Go主协程如何等其余协程完再操作
26 Go的Slice如何扩容
27 Go中的map如何实现顺序读取
28 Go中CAS是怎么回事
29 Go中的逃逸分析是什么
30 Go值接收者和指针接收者的区别
31 Go的对象在内存中是怎样分配的
32 栈的内存是怎么分配的
33 堆内存管理怎么分配的
34 Go中的defer函数使用下面的两种情况下结果是什么
35 在Go函数中为什么会发生内存泄露
36 Go中new和make的区别
37 G0的作用
38 Go中的锁如何实现
39 Go中的channel的实现
40 Go中的map的实现
41 Go中的http包的实现原理
42 Goroutine发生了泄漏如何检测
43 Go函数返回局部变量的指针是否安全
44 Go中两个Nil可能不相等吗
45 Goroutine和KernelThread之间是什么关系
46 为何GPM调度要有P

1 Golang中除了加Mutex锁以外还有哪些方式安全读写共享变量

Golang中Goroutine 可以通过 Channel 进行安全读写共享变量,还可以通过原子性操作进行.