会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
仁义礼智信的
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
···
48
下一页
2025年3月25日
单核下,Goroutine 并发调度的疑问(上)
摘要: 问题: 单核不就是只有一个系统线程执行多个groutine么,groutine需要排队呀.排队不就是串行化执行么 你的疑问非常好,我明白你在纠结的地方:既然单核只有一个系统线程(在 GOMAXPROCS=1 的情况下),Goroutine 看起来像是“排队”执行,那为什么还会出现并发问题?让我再深入
阅读全文
posted @ 2025-03-25 08:45 仁义礼智信的
阅读(15)
评论(0)
推荐(0)
2025年3月24日
atomic.AddInt32锁和sync.Mutex锁的区别
摘要: 是的,你说得没错,atomic.AddInt32 在底层确实涉及一种“锁”的机制,但它和我们通常理解的软件层面的加锁(如 sync.Mutex)有所不同。让我们澄清一下这两种“锁”的区别,以及为什么原子操作的“锁”更高效。 原子操作中的“锁” 在 atomic.AddInt32 中,所谓的“锁”是指
阅读全文
posted @ 2025-03-24 21:46 仁义礼智信的
阅读(46)
评论(0)
推荐(0)
go 并发安全整型,map,数组如何操作
摘要: 在 Go 中,为了在并发环境下安全地操作不同类型的数据结构,sync/atomic 提供了针对基本类型的原子操作,但对于像 map 和数组这样的复杂数据结构,没有直接的原子操作支持。我们需要根据具体场景选择合适的并发安全机制。以下分别讨论整型、map 和数组的并发安全实现方式。 1. 并发安全的整型
阅读全文
posted @ 2025-03-24 20:48 仁义礼智信的
阅读(89)
评论(0)
推荐(0)
2025年3月21日
字符编码模板
摘要: 让我们来分析这个问题。图片中的标题是“编码”和“编码模板”,左侧是三个数字 [0,127]、[128,2047] 和 [2048,65535],右侧是对应的编码模板,分别是 0???????、110????? 10?????? 和 1110???? 10?????? 10??????。问题提到“如果
阅读全文
posted @ 2025-03-21 09:23 仁义礼智信的
阅读(19)
评论(0)
推荐(0)
2025年3月18日
go中类型断言和类型转换的区别
摘要: 在 Go 编程语言中,类型断言(type assertion)和类型转换(type conversion)是两个不同但容易混淆的概念。它们在用途、语法和行为上有显著区别。以下是详细的对比和解释: 1. 类型断言(Type Assertion) 定义: 类型断言是用来从接口类型(interface{}
阅读全文
posted @ 2025-03-18 16:25 仁义礼智信的
阅读(45)
评论(0)
推荐(0)
golang数据结构与算法学习笔记——进阶篇
摘要: 转自https://blog.csdn.net/General_zy/article/details/117750221
阅读全文
posted @ 2025-03-18 10:31 仁义礼智信的
阅读(2)
评论(0)
推荐(0)
goroutine到底是轻量级线程还是协程
摘要: “Goroutine 到底是轻量级线程还是协程?”这个问题在技术社区中经常引发讨论,因为 Goroutine 的设计模糊了两者的界限。简单来说,Goroutine 在概念上更接近协程(coroutine),但在实现和行为上具有轻量级线程(lightweight thread)的特性。以下是详细分析,
阅读全文
posted @ 2025-03-18 08:40 仁义礼智信的
阅读(85)
评论(0)
推荐(0)
2025年3月17日
线程切换的开销有哪些
摘要: 线程切换的开销主要来源于操作系统在管理多个线程时需要执行的一系列操作,这些操作会消耗 CPU 时间和资源。相比协程的轻量级切换,线程切换是重量级的,因为它涉及内核态和用户态的转换以及更多的上下文管理。以下是线程切换开销的主要组成部分: 1. 上下文切换(Context Switch) 描述:当操作系
阅读全文
posted @ 2025-03-17 14:09 仁义礼智信的
阅读(179)
评论(0)
推荐(0)
协程的理解
摘要: 协程(coroutine)可以理解为一种协作式的线程。它不像传统的线程那样由操作系统调度,而是由程序自身控制执行的切换。协程通过协作的方式在特定点主动让出控制权,而不是被强制抢占,因此它的开销通常比线程更小,特别适合处理高并发、I/O密集型的任务。 在很多编程语言中,比如 Python(通过 `as
阅读全文
posted @ 2025-03-17 14:06 仁义礼智信的
阅读(51)
评论(0)
推荐(0)
2025年3月10日
Go 接口的实现规则
摘要: package main import "fmt" type tester interface { test() string() string } type data struct { } func (*data) test() { fmt.Println("call test") } func
阅读全文
posted @ 2025-03-10 10:30 仁义礼智信的
阅读(27)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
···
48
下一页
公告