- 博客(23)
- 收藏
- 关注
原创 Golang WaitGroup 用法 源码阅读笔记
可以用来阻塞等待一组并发任务完成下面是如何使用sync.WaitGroup的使用最重要的就是不能并发调用和下面是官方示例源码解读结构体标识结构体不能被复制的高32位表示counter的值,低32位表示waiter的值用来阻塞和唤醒goroutine调用了add方法从源码的panic来看,不能并发调用&不能让总结https://segmentfault.com/a/1190000045998688
2025-05-03 10:37:17
582
原创 JWT的介绍、使用、选型、双Token及主动失效
JWT的介绍、如何使用、与session-cookie的比较,双token管理生命周期,redis黑名单主动失效,和版本号主动失效
2025-03-31 16:13:17
1036
原创 protobuf使用以及序列化原理
Protocol Buffers(简称 Protobuf)是一种由 Google 开发的高效、跨平台的结构化数据序列化机制。它的核心设计目标是实现更小的数据体积、更快的序列化/反序列化速度,同时支持跨语言和版本兼容性。
2025-02-27 22:44:15
597
原创 sql中四个排名函数
sql中row_number是一个窗口函数,为结果集的每一行分配一个唯一的序号,该函数的语法如下其中order by 制定了row_number() 函数排列行的顺序在sql中,rank是一个窗口函数,根据指定的order by 子句给结果集中的每一行分配排名值。在排序的过程中,如果多个行具有相同的排序值,则它们将被分配相同的排名值。Rank()可以在Select语句,Select子句,oder by 子句,或者over子句中使用语法。
2025-02-21 14:40:19
712
原创 单调栈,接雨水,柱状图中的最大矩形
使用场景使用场景单调栈保证元素是有序的,在序列元素的局部最值处打破循环,此时栈顶的元素即为最值,未入栈的元素和栈顶第二个元素为最值左右两边的元素。简单的说,单调栈可以寻找元素左边或者右边第一个大于或小于它的值;抽象一点说,单调栈来寻找左右两边的第一个单调性变化点,这也是后两题的关键。
2024-09-10 20:24:59
309
原创 C++异步--future&promise&packed_task&async
c++ 异步编程 async future promise packaged_task
2024-08-07 20:28:27
405
原创 vscode--c++--launch.json&&tasks.json配置---一键自动调试c++项目
vscode配置c++项目launch.json和tasks.json
2024-07-30 14:55:45
1428
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
2