摘要:
一、介绍 goroutine 是 Go语言中的轻量级线程,用户态级别,由 Go 运行时(runtime)调度和管理,它比线程更加易用、高效和轻便 每一个并发的执行单元叫作一个goroutine,Go 程序会自动为 main() 函数创建一个默认的goroutine 1 goroutine和线程的区别 阅读全文
摘要:
一、堆栈 栈(heap): 由操作系统自动分配释放。一般函数内部执行中声明的变量,函数返回时直接释放,不会引起垃圾回收,对性能无影响堆(stack): 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收。堆是在程序运行时申请的动态内存,靠 GC 回收,会影响程序进程 二、GC的触发条件 阅读全文
摘要:
一、介绍 Golang 设计模式: 不要通过共享内存来通信,而要通过通信实现内存共享 channel是基于通信顺序模型(communication sequential processes, CSP)的并发模式,可以让一个 goroutine 发送特定值到另一个 goroutine 的通信机制 ch 阅读全文
摘要:
算法简介 算法稳定性稳定性是指在一组待排序记录中,如果存在任意两个相等的记录R和S,且在待排序记录中R在S前,如果在排序后R依然在S前,即它们的前后位置在排序前后不发生改变,则称为排序算法为稳定的 稳定的排序算法: 冒泡排序、插入排序、折半插入排序、归并排序、计数排序、桶排序、基数排序不稳定的排序算 阅读全文