上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 218 下一页

2021年4月21日

golang goroutine实现_golang中的Mutex设计原理详解(一)

摘要: Mutex系列是根据我对晁岳攀老师的《Go 并发编程实战课》的吸收和理解整理而成,如有偏差,欢迎指正~ 目标本系列除了希望彻底学习和了解 golang 中 sync.Mutex 的原理和使用,更希望借 golang 中 Mutex 的发展和演变,了解并发场景下锁的设计与实现方法以及不同业务场景下的一 阅读全文

posted @ 2021-04-21 10:09 ExplorerMan 阅读(157) 评论(0) 推荐(0) 编辑

Sentinel Go 核心统计结构滑动窗口的深度解析

摘要: Sentinel Go 核心模块分析之滑动窗口统计结构设计什么是滑动时间窗口滑动窗口基本运行模式滑动窗口的周期和格子长度怎么设置?滑动窗口长度一致,格子长度不一致格子长度一致,滑动窗口长度不一致总结Sentinel Go时间滑动窗口实现长度可设置的原子数组基于时间的滑动窗口实现 本文主要分析 Sen 阅读全文

posted @ 2021-04-21 10:08 ExplorerMan 阅读(274) 评论(0) 推荐(0) 编辑

golang sync.Mutex互斥锁的实现原理

摘要: golang sync.Mutex互斥锁的实现原理数据结构与状态机Lock(1)正常模式(2) 饥饿模式Unlocksync.Mutex是一个不可重入的排他锁。 这点和Java不同,golang里面的排它锁是不可重入的。 当一个 goroutine 获得了这个锁的拥有权后, 其它请求锁的 gorou 阅读全文

posted @ 2021-04-21 10:07 ExplorerMan 阅读(416) 评论(0) 推荐(0) 编辑

Golang-Scheduler原理解析

摘要: Golang Scheduler原理解析Section1 Scheduler原理1.基础知识2.调度模型3.调度核心问题Section2 主要模型的源码分析2.1 实体M2.2 实体P(processor)2.3 实体G(goroutine)Section3 主要调度流程的源码分析3.1 预备知识3 阅读全文

posted @ 2021-04-21 10:06 ExplorerMan 阅读(309) 评论(0) 推荐(0) 编辑

Golang-Channel原理解析

摘要: 本文主要分析golang实现并发基础组件channel的实现原理;主要内容分为几个部分Section1:channel使用实例分析Section2:源码分析 Golang-Channel原理解析Section1 channel使用实例1.1 make channel1.2 sends and rec 阅读全文

posted @ 2021-04-21 10:04 ExplorerMan 阅读(616) 评论(0) 推荐(0) 编辑

golang里channel的实现原理

摘要: channel是消息传递的机制,用于多线程环境下lock free synchronization. 它同时具备2个特性: 1. 消息传递 2. 同步 golang里的channel的性能,可以参考前一篇:http://blog.sina.com.cn/s/blog_630c58cb01016xur 阅读全文

posted @ 2021-04-21 09:52 ExplorerMan 阅读(522) 评论(0) 推荐(0) 编辑

2021年4月20日

最长回文子序列

摘要: 【题目】 注意,子序列跟子串是不一样的。子序列是从字符串中取出元素,相对顺序不变,但是可以不挨着。子串肯定是截取一段。 【方法一:记忆化搜索】 假设fun(char[] S , int i , int j) 返回的是串S[i...j]的最长回文子序列。 则如果S[i]==S[j] , 则:fun(S 阅读全文

posted @ 2021-04-20 11:44 ExplorerMan 阅读(54) 评论(0) 推荐(0) 编辑

2021年4月19日

GO语言的goroutine并发原理和调度机制

摘要: 1. 线程(Thread)和协程(Coroutine)的定义 Go语言最大的特色就是从语言层面支持并发(Goroutine),Goroutine是Go中最基本的执行单元。事实上每一个Go程序至少有一个Goroutine:主Goroutine。当程序启动时,它会自动创建。 为了更好理解Goroutin 阅读全文

posted @ 2021-04-19 18:31 ExplorerMan 阅读(581) 评论(0) 推荐(0) 编辑

golang 常见问题

摘要: 1、go的调度 2、go struct能不能比较 因为是强类型语言,所以不同类型的结构不能作比较,但是同一类型的实例值是可以比较的,实例不可以比较,因为是指针类型 3、go defer(for defer),先进后出,后进先出 4、select可以用于什么,常用语gorotine的完美退出 gola 阅读全文

posted @ 2021-04-19 18:06 ExplorerMan 阅读(344) 评论(0) 推荐(0) 编辑

容器核心技术 :Cgroup 与 Namespace

摘要: 容器 = cgroup + namespace + rootfs + 容器引擎 Cgroup: 资源控制 namespace: 访问隔离 rootfs:文件系统隔离。镜像的本质就是一个rootfs文件 容器引擎:生命周期控制 一、Cgroup Cgroup 是 Control group 的简称,是 阅读全文

posted @ 2021-04-19 18:02 ExplorerMan 阅读(454) 评论(0) 推荐(0) 编辑

上一页 1 ··· 22 23 24 25 26 27 28 29 30 ··· 218 下一页

导航