摘要:
在Go语言中,切片(Slice)是一个非常有用的数据结构,它提供了一种动态数组的抽象,允许我们在运行时动态地调整数组的大小。切片的底层实现基于三个关键要素:指针、长度和容量。 1. 指针(Pointer) 切片内部存储了一个指向底层数组的指针,这个指针指向数组的起始位置。当我们创建一个切片时,实际上 阅读全文
摘要:
协程(Coroutine)和线程(Thread)都是用于实现并发执行的技术,但它们之间存在一些基本的区别: 1. **调度方式**: - **线程**:通常由操作系统内核进行管理调度。线程的上下文切换需要保存和恢复大量的寄存器状态以及切换执行环境,这会涉及到内核态与用户态的转换,开销相对较大。 - 阅读全文