Goland
文章平均质量分 90
Come_code
你说,我一个码农,还有机会做产品吗?
展开
-
goland基础包——unsafe的使用
温馨提示:适合有内存操作经验的同学阅读一、unsafe的作用从golang的定义来看,unsafe 是类型安全的操作。顾名思义,它应该非常谨慎地使用; unsafe可能很危险,但也可能非常有用。例如,当使用系统调用和Go结构必须具有与C结构相同的内存布局时,您可能别无选择,只能使用unsafe。关于指针操作,在unsafe包官方定义里有四个描述: 任何类型的指针都可以被转化为Pointer Pointer可以被转化为任何类型的指针 uintptr可以被转化为Pointer原创 2021-12-03 13:45:34 · 413 阅读 · 0 评论 -
GO线程调度——GMP
深入理解 Go 语言线程调度• 进程:资源分配的基本单位 • 线程:调度的基本单位 • 无论是线程还是进程,在 linux 中都以 task_struct 描述,从内核角度看,与进程无本质区别 • Glibc 中的 pthread 库提供 NPTL(Native POSIX Threading Library)支持进程切换开销• 直接开销 • 切换页表全局目录(PGD) • 切换内核态堆栈 • 切换硬件上下文(进程恢复前,必须装入寄存器的数据统称为硬件上下文) • 刷新 T...原创 2021-12-02 13:48:28 · 348 阅读 · 0 评论