-
Notifications
You must be signed in to change notification settings - Fork 35
Open
Labels
bugSomething isn't workingSomething isn't working
Description
收集了一些可能可以改进的地方,但会过多关注于细节,也可能说的不对,所以本issue仅供参考。
1.1.2节-3
第5页
协程读取管道时,阻塞的条件有:
-管道无缓冲区;
+管道无缓冲区,且不存在阻塞等待写入的协程;
协程写入管道时,阻塞的条件有:
-管道无缓冲区;
+管道无缓冲区,且不存在阻塞等待读取的协程;
1.1.3节-2-3
第10页流程图
与“sendq非空==N”的后续条件保持一致
-有缓冲区?
+qcount>0?
2.2.3节-5
第83页
for-range迭代channel的伪代码,将变量名”index“改为”value“更合理。
4.1节-2
第102页
-(3)从mcache的alloc[class]链表中查询可用的span。
+(3)从mcache的alloc[class*2]或alloc[class*2+1]链表中查询可用的span。
5.2节-3
第120页
-Add()设置的值必须与实际等待的goroutine的个数一致,否则会触发panic。
+Add()设置的值必须与实际等待的goroutine的个数一致,否则会触发panic或导致死锁。
7.3.1节-2-22
第171页
common.sub
-子测试列表
+并发运行的子测试列表
8.1.2节-1
第211页
-任何实现了该方法的结构体都可以作为error来使用
+任何实现了该方法的数据类型都可以作为error来使用
8.1.4节-3
第225页
-类型断言替换成errors.As()时需要先声明一个目标类型的指针变量
+类型断言替换成errors.As()时需要先声明一个目标类型的变量,再传入该变量的指针
示例中*os.PathError
实现了error接口,即os.PathError
的指针类型实现了error接口,因此声明了该类型的变量,再取该变量的指针(即指针的指针)传入errors.As()
。
9.3.2节-1
-GOMAXPROCS的值不超过64的话,timersBucket桶的数量等于GOMAXPROCS。
+GOMAXPROCS的值不超过64的话,timersBucket桶的数量不会超过GOMAXPROCS。
shaw-01
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working