自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 算法和数据结构在程序开发方面的应用

从上面的例子中我们可以发现,可能我们在数据结构和算法的学习中会感觉到比较枯燥和乏味,课本上的案例可能没有看上去那么有意思和有实际用途,但是只要在生活和实际开发中花点时间观察和尝试,就可以想出如何将这些看上去较为单调的知识转化为节省时间/提高效率的手段,从而进一步将数据结构和算法应用到实际之中。在这么一个需求下,系统已经封装好的库便爱莫能助了,因为要完成这么一件事情,首先要结合所学的知识想到。此时,我们便简单地将数据结构和算法应用到了实际的一个开发需求之中。

2025-07-22 13:11:09 134

原创 量子计算机的概念及分类

而 Google、IBM、英特尔以及微软等科技巨头成为推动量子计算加速发展的重要力量,量子比特数迭代速度明显加快,在近三年内实现了 8 倍的提升。有专家估计,专用机预计 5 年左右将率先突破,而通用机的实用化则是长期的过程。量子计算机装置遵循量子计算的基本理论,处理和计算的是量子信息,运行的是量子算法。量子计算属于交叉学科,需要量子物理、应用数学、计算机科学等多种专业的协同配合,在国内有极大的发展潜力,当然也伴随着长久的初级探索阶段。在国内,量子计算仍处于探索和研究阶段,主要以科研机构的研究为主。

2025-07-20 13:14:11 231

原创 浅谈程序员应当如何提升算法思维

持续学习,持续开发,是目前主流 IT 业界程序员的一个生活常规,在现代技术迭代速度非常快的情况下,只有不断保持自我学习和探索才不会与时代脱节。何为算法思维,并不是对一些已经设计好的优秀代码的反复背诵和背板,而是自己对于问题的抽象能力的练习,即从抽象问题到实际进行编码或者设计程序解决问题的一个能力,如果单纯对于一些算法进行背诵的话,我们的思维能力不会得到提升,最多就是熟练的码农而已。是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

2025-07-19 11:46:55 160

原创 人工智能时代对高精尖人才的需求分析

最初的粗放式需求中,可能仅仅需要求职者了解机器学习和深度学习的相关算法,并有一定的项目经验,后续随着相关人才越来越多,产业发展越来越精细,对人才的要求则会提升到具体的研究领域上。这就要求大家尽量在人工智能和机器学习的某个具体领域有尽可能多的项目以及尽可能深入的了解,而不是各个领域都了解,却都不深入。就领域而言,建议大家选择初步发展或者刚刚起步的应用领域,在爆发式的增长之前进入该领域,对自己的职业发展和高度能够有所期待。不可否认,随着人工智能的发展,应用领域越来越精细,对人才的要求必然是越来越高。

2025-07-18 18:28:00 170

原创 双指针法求环形链表

现在考虑一个环形链表,把慢指针和快指针想象成两个在环形赛道上跑步的运动员(分别称之为慢跑者与快跑者)。而快跑者最终一定会追上慢跑者。考虑下面这种情况(记作情况 A) - 假如快跑者只落后慢跑者一步,在下一次迭代中,它们就会分别跑了一步或两步并相遇。例如,我们没有考虑快跑者在慢跑者之后两步或三步的情况。但其实不难想到,因为在下一次或者下下次迭代后,又会变成上面提到的情况 A。如果列表中不存在环,最终快指针将会最先到达尾部,此时我们可以返回 false。慢指针每次移动一步,而快指针每次移动两步。

2025-07-17 18:35:31 109

原创 经典排序算法之归并排序(Merge Sort)

所谓归并排序是指将两个或两个以上有序的数列(或有序表),合并成一个仍然有序的数列(或有序表)。1.如果给的数组只有一个元素的话,直接返回(也就是递归到最底层的一个情况)这样的排序方法经常用于多个有序的数据文件归并成一个有序的数据文件。3.对于两个被分开的两个部分进行整个归并排序(治)2.把整个数组分为尽可能相等的两个部分(分)4.把两个被分开且排好序的数组拼接在一起。

2025-07-16 11:47:14 196

原创 经典排序算法之插入排序

一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。今天的文章分享就到这里了,希望对大家的学习和工作有所帮助!

2025-07-15 11:01:01 162

原创 动态规划思路解杨辉三角

列表,三角形的每一行都以子列表的形式存储。然后,我们会检查行数为 0 的特殊情况,否则我们会返回 [1]。如果 numRows > 0,那么我们用 [1] 作为第一行来初始化。如果能够知道一行杨辉三角,我们就可以根据每对相邻的值轻松地计算出它的下一行。虽然这一算法非常简单,但用于构造杨辉三角的迭代方法可以归类为。今天的文章分享就到这里了,希望对大家的学习和工作有所帮助!,因为我们需要基于前一行来构造每一行。首先,我们会生成整个。

2025-07-14 09:25:56 187

原创 迭代法求解对称二叉树

队列中每两个连续的结点应该是相等的,而且它们的子树互为镜像。最初,队列中包含的是 root 以及 root。该算法的工作原理类似于 BFS,但存在一些关键差异。然后,将两个结点的左右子结点按相反的顺序插入队列中。当队列为空时,或者我们检测到树不对称(即从队列中取出两个不相等的连续结点)时,该算法结束。(binary tree)是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。二叉树的递归定义为:二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;

2025-07-13 08:15:56 218

原创 Markdown语法的基础学习

在行内插入代码时可以使用「`」这个符号包裹代码,如果需要显示大段代码,使用三个相同的符号完成。来表示一段引用,原本是用于在文章中引用别人的文章,现在经常被用于自动生成文章前言的样式。主要分为如下几大部分:标题,段落,引用,代码区块,强调,列表,分割线,链接,图片。除此之外,一些的 Markdown 编辑器还支持插入表格,公式,流程图等扩展语法。段落的前后要有空行,否则会被合并到一行显示。使用数字与点和空格来声明有序列表,使用。的数量分为不同等级的标题。快速添加链接的方式是。> 这是一段引用文字。

2025-07-12 09:21:53 233

原创 你知道咕果里的彩蛋吗?

在 Google 搜索递归(recursion),它会问你你要找的是不是递归(recursion),点击之后仍然会出现这个选项,是的,这个搜索引擎调侃了递归(这个梗恐怕只有程序员才能懂了)...另一个彩蛋是打砖块(Atari Breakout),搜索图片,会出现一个打砖块游戏,立刻就能愉快的开始游戏...今天的文章分享就到这里了,希望对大家的学习和工作有所帮助!

2025-07-10 17:46:44 335

原创 Gulp实现功能及插件总结

不可否认,程序员的工作效率往往高于平均值,究其原因,程序员的「懒惰」帮了大忙,哪怕是简单的重复性工作,他们也要用程序实践。「程序员的利器」系列文章巡礼那些能提高开发/工作效率的工具,帮你在职场/生活中节约时间。当你的工作和生活中出现重复性劳动时,不妨想想 Gulp 能不能解决这个问题。其中 gulp-flatten 是一个清除目录结构,只保留文件本身的插件。

2025-07-10 11:03:00 389

原创 经典算法之随机发生器

即每次随机产生两个数,如果组合为00或11则丢弃,若为 01 则映射到 1,若为 10 则映射到 0,这样一来产生 0 和 1 的概率均为 1 / 2。已知一随机发生器,产生 0 的概率是 p,产生 1 的概率是 1-p,现在要你构造一个发生器,使得它产生 0 和 1 的概率均为 1/2(随机数生成)。可以发现 01 和 10 组合的概率是相等的,只需要将其分别映射到 0 和 1 即可。今天的文章分享就到这里了,希望对大家的学习和工作有所帮助!由题目有: 0 : p 1 : 1 - p。

2025-07-09 08:45:21 147

原创 经典算法之蚂蚁不相撞的概率问题

首先,每个蚂蚁在方向的选择上有且只有 2 种可能,共有 3 只蚂蚁,所以共有 2 的 3 次方种可能,而不相撞有有 2 种可能,即全为顺时针方向或全为逆时针方向。一个三角形, 三个端点上有三只蚂蚁,蚂蚁可以绕任意边走,问蚂蚁不相撞的概率是多少?有人说,题目一看似乎答案就是1/3,但其实认真细想并不是这么回事。不相撞概率 = 不相撞 / 全部 = 2/8 = 1/4。乍一看好像和三角形三边长度有关系,事实上是无关的。

2025-07-08 09:06:26 215

原创 创建和编辑Crontab的方法

计划任务,在 Linux 中一般使用Crontab,通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令或 Shell 脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。一定要假设 crontab 对外部环境变量不了解,所以所有的指令尽可能写。参数,则默认使用的当前用户的 crontab,可以列出某个用户的 crontab,则是编辑某个用户的 crontab。

2025-07-07 10:56:56 254

原创 双指针法移除元素

当 nums[j] 与给定的值相等时,递增 j 以跳过该元素。只要 nums[j]≠val,我们就复制 nums[j] 到 nums[i] 并同时递增两个索引。重复这一过程,直到 j 到达数组的末尾,该数组的新长度为 i。既然问题要求我们就地删除给定值的所有元素,我们就必须用 O(1) 的额外空间来处理它。我们可以保留两个指针 i 和 j,其中 i 是慢指针,j 是快指针。删除排序数组中的重复项。

2025-07-06 10:56:27 191

原创 什么才是代码中的坏注释?

加这种注释一般都是觉得方便以后他人遇到问题知道该和谁讨论,但是事实上,注释放了一年又一年,下一个人修改代码的时候很可能没有加日期和姓名,将来有问题的时候找到第一个加注释的人,他也看不懂为什么改成了这样。很明显这里的注释明显不足,至少这里要注释上推导过程或者是利用什么数学公式推算的,因为我们并不能保证所有的程序员都有这样的数学功底。当我们修改一个函数的时候,如果函数的最初的注释和最新的实现不匹配,一定记得要修改一下注释,哪怕是删掉注释,也不要留着误导性的注释。坏注释,那就是错误的注释。

2025-07-05 10:59:05 249

原创 在数学中一个实对称矩阵的特性分析

根据上面的推导,我们认为 Σ 和 Z 的协方差矩阵 (1/m)*Z(T)Z 相等,就是说,Σ 上对角线的值就是 Z 的每个属性的方差,由此我们可以确定,如果将 Σ 对角线上的元素按降序排列,取出 U 的前 K 个值,那么降维就完成了。可以发现特征值分解后,特征向量所组成的矩阵正好是一个对角矩阵,因此特征值分解原数据矩阵 A 后,特征向量所组成的矩阵即为要求的矩阵 P。我们已经求出了新的空间 P,那么如何选取 P 最重要的 N 个维度,去除其他维度,以进行降维呢?1 不同特征值对应的特征向量必然正交。

2025-07-04 15:17:02 206

原创 分享四门深度学习课程

需要你具备一定的概率论,线性代数和连续数学的基础,了解基本的机器学习模型,编程熟练,但不需要具备语言学的知识。你将会学到一系列神经网络模型,能够优化模型算法,了解如何用这些算法构建最先进的 NLP 系统,了解应用过程中可能出现的硬件问题,最终实现和评估 NLP 常见的神经网络模型。这门课程会为你介绍 deep learning,让你能够构建最先进的人工智能算法。本课程会带你了解这些应用所需的基本算法,以及实现他们所需的良好技巧。入门深度学习的好课不仅让你了解技术领域的前沿,还能帮助你提升求职竞争力。

2025-07-04 12:49:02 283

原创 异或运算的运用之寻找重复数

包含 1 和 n ,并且只有一个重复的整数,如果不考虑说明中的第四点的话这段代码是正确的。a 从 1 一直异或到 n,其中有一个重复的数字 x ,那么就是。给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。,因此 1 ~ n 每个数异或了 2 次,而 x 异或了 3 次,所以最后 res 的值就是我们要找的 x 的值。但是有了第四点,这个方法就不太好用了,下面是一个正确的解法,由于跟异或没有太多的关系,因此就不过多解释。

2025-07-03 08:49:42 231

原创 使用哪种语言的人更容易通过面试?

最火热的 Java 的热度平均值几乎是 Ruby 和 Swift 的 12 倍还多。两门日前非常流行的语言 Python 和 JavaScript 热度几乎不相上下,但相比 Java 还是稍差了一点。似乎语言越大众面试通过率越低,毕竟岗位数量有限,Java 和 C++ 程序员所面对的竞争也会更加激烈。使用 Ruby 和 Swift 的程序员比例到底怎么样?我们可以从 Google Trends 中发现一些蛛丝马迹。从地图上来看,Python,JavaScript 和 Java 几乎三分天下。

2025-07-02 17:53:37 142

原创 浅谈「线性代数的本质」 - 系列合集

不得不说,对于很多想入门机器学习但不能加入对应教育体系的人而言,公开课是一个从入门到精通的捷径。

2025-07-01 12:05:01 194

原创 计算机视觉与图像处理的关系

在深度学习以及 GPU 广泛应用之前的一段时间,图像处理中的核心算法是提出有效的二维结构描述符,通过描述符的不同来提取图像中不同的特征,如 2D 傅里叶描述符,2D Zernike 描述符等等。然而,在自动驾驶的实际场景中,除了动态的图像识别技术,还要求对路况以及物体运动估计的预判等等,相比图像识别有更大的挑战和难度。侧重于图像像素级别的处理,通常的处理手段是将工业相机、摄像机以及扫描仪等设备经过拍摄的图像存储在一个大的二维数组中,该数组中的元素称谓像素,其值为灰度值。

2025-06-30 11:16:21 230

原创 暴力法及动态规则的学习

为了改进暴力法,我们首先观察如何避免在验证回文时进行不必要的重复计算。如果我们已经知道 “bab” 是回文,那么很明显,“ababa” 一定是回文,因为它的左首字母和右尾字母是相同的。这产生了一个直观的动态规划解法,我们首先初始化一字母和二字母的回文,然后找到所有三字母回文,并依此类推…很明显,暴力法将选出所有子字符串可能的开始和结束位置,并检验它是不是回文。因此,P(i,j)=(P(i+1,j−1) and Si==Sj)今天的文章分享就到这里了,希望对大家的学习和工作有所帮助!

2025-06-28 16:39:14 279

原创 哈希表的概念与应用分享

事实证明,我们可以一次完成。在进行迭代并将元素插入到表中的同时,我们还会回过头来检查表中是否已经存在当前元素所对应的目标元素。如果它存在,那我们已经找到了对应解,并立即将其返回。为了对运行时间复杂度进行优化,我们需要一种更有效的方法来检查数组中是否存在目标元素。如果存在,我们需要找出它的索引。今天的文章分享就到这里了,希望对大家的学习和工作有所帮助哦~

2025-06-28 08:53:55 212

原创 C++11中编译器常量表达式

C++ 中的多种编程范式为开发者提供了灵活的选择,使得他们可以根据不同的需求采用最合适的编程风格。面向对象编程因其结构化的类和对象模型而被广泛采用,泛型编程通过模板机制提升了代码复用和类型安全,函数式编程则为编写简洁且适合并行执行的代码提供了支持,而元编程则在编译期优化和类型系统扩展方面发挥了关键作用。这种功能在元编程中非常有用,可以用于编译时期的优化和验证。通过熟练掌握这些编程范式,开发者能够在实际项目中编写出高效、灵活、且易于维护的代码,从而充分利用 C++ 语言的强大功能。

2025-06-27 15:08:49 203

原创 函数式编程Lambda表达式的应用

如果是按值捕获时,Lambda 内部使用捕获变量的副本。如果是按引用捕获时,Lambda 内部使用捕获变量的引用,因此可以修改原变量的值。尽管 C++ 主要是一种面向对象的语言,但它也支持函数式编程的部分特性,如高阶函数、匿名函数(Lambda 表达式)和不可变数据结构。它是 C++11 的重要特性,允许在函数内部定义匿名函数,可以捕获作用域中的变量,并用于许多常见的函数式编程。今天的文章分享就到这里了,希望对大家的学习和工作有所帮助哦~)捕获作用域中的变量。捕获方式有两种:按值捕获(如。

2025-06-27 10:43:28 113

原创 利用AI来进行代码审查&缺陷预测

不可否认,AI有着强大的学习能力,使得它可以理解一定的上下文。所以可以使用 AI 辅助进行代码审查,通过分析代码库中的模式和历史提交,识别出潜在的错误和不一致性。这种智能审查可以提高代码质量,帮助开发者发现那些可能被忽视的问题。就笔者实际体验而言,代码审查和缺陷预测这两件事 AI 目前做得还不够好。只能发现一些比较浅显的错误。因为 AI 很难了解业务的全貌,所以代码审查和缺陷预测通常还需要程序员主导完成,AI 只能起到辅助作用。利用历史数据和机器学习模型,AI 可以预测代码中可能出现的缺陷。

2025-06-26 12:04:16 134

原创 计算机领域Token的多重含义

不得不承认,在数字化时代我们每天都会与Token(令牌)打交道——无论是在线支付、登录社交媒体,还是调用API接口,都离不开这一关键技术。简单来说,Token就像现实世界的钥匙、通行证或票据,它能够让系统识别身份、授予权限,或者标记数据。可以把计算机世界想象成一座城市,而Token就是进入不同区域的钥匙——有的Token用来验证身份(如护照),有的Token用来访问特定资源(如演唱会门票),还有的Token只是用来标记不同的信息(如商品条形码)。那么,在计算机领域,Token到底有多少种不同的含义?

2025-06-25 11:44:22 119

原创 HTML网页设计入门适合新手的学习路线总结

可以用开源 CSS 框架,比如 Tailwind、Bootstrap,一行代码就能生成现成的导航栏。新手启示:不要一上来就自己造轮子,能抄就抄,能改就改!用 CSS 表达你的想法,这样才会越做越有成就感!今天的文章分享就到这里了,希望对大家的学习和工作有所帮助~如果你对网页设计有更多的想法,欢迎在评论区留言讨论。第一阶段:用 float、padding、background 搭出最简单的布局。第二阶段:学 flex,快速搭建更灵活的布局。第四阶段:遇到不会的属性,就查 MDN 文档,

2025-06-24 11:22:47 204

原创 浅谈“做前端”的基本思路

布局决定了页面的骨架,而 CSS 只是给“骨架”上色、加皮肤。掌握这种思维后,很多 CSS 属性你自然就“记住”了。不得不承认,在HTML+CSS网页开发中,新手最容易踩的坑就是一上来就堆代码,结果样式混乱、结构不清。今天的文章分享就到这里了,希望对大家的学习和工作有所帮助~接下来我们就按照这个思路,

2025-06-23 11:49:16 151

原创 防御式编程:防止SQL注入

是一个占位符,表示用户输入的位置。cursor.execute(query, (username, password)) 会将 username 和 password 作为参数传递给数据库。这样,即使用户输入了恶意的 SQL 片段,这些片段也会被当作普通值处理,而不会改变查询的逻辑,从而有效防止 SQL 注入攻击。参数化查询将 SQL 语句的结构和用户输入分开处理,确保用户输入的数据不会改变 SQL 语句的结构。好了,今天的文章分享就到这里了,希望对大家的学习和工作有所帮助~

2025-06-20 10:58:11 219

原创 随机选择法求重复N次的元素思路与算法

我们可以每次随机选择两个不同的下标,判断它们对应的元素是否相等即可。如果相等,那么返回任意一个作为答案。今天的文章分享就到这里了,希望对大家的学习有帮助哦!

2025-06-18 17:12:52 279

原创 浅谈开发者重构的时机选择

开发者应该保持爱折腾的习惯,不安于现状,才能做到与时俱进。软件之所以叫软件,正是因为它是”软”的,需求随时在更新,上星期的代码放在今天也许就不再合适。也正因为软件是软的,我们可以很方便的通过重构改进它。你找到一种更好的实现方式,千万不要因为现有的代码仍然可用就置之不理。尝试将你的想法实现出来。当你需要添加一个新功能,突然发现程序耦合严重,导致新功能不是那么好添加,那就先将程序重构到可以方便的添加新功能;当你阅读代码时,发现程序可读性低,导致理解上的困难,显然代码还不够清晰,先将其重构到一眼能够看出结构。

2025-06-17 12:03:41 232

原创 web项目部署配置HTTPS遇到的问题解决方法

今天使用nginx+tomcat+ssl完成了web项目的部署,本以为没有什么问题,但是在页面测试的时候又蹦出了这么一个问题,大致是说由于配置了HTTPS,但是之前的请求是通过HTTP请求的,所以现在被拦截,由于缺少某些权限信息,被禁止转发请求和访问。注意:在需要的网页上加上面的语句,其它不需要的网页不需要加,不然后了出错的。示例程序图片,通过以上方法最终解决了上述描述的问题。经过一系列的排错与总结,整理了些有用的解决方法。意思是自动将http的不安全请求升级为https。

2025-06-16 19:44:45 217

原创 如何高效的学习算法与数据结构

简而言之,很多人平时不会用算法和数据结构,在跳槽的时候,也会提前去复习算法和数据结构的知识,因为这是面试中很常见的问题。但我还是建议大家一直有这种能力,不要因为不常用而忽视这些基本的东西,基本的永远是精华。此外,不得不说,理论不结合实践只是空中楼阁,除了理论学习外,平时可以多刷题,练习算法知识。我们推荐的刷题方法是,不要想着“大而全”的每天去把每种题刷一遍,这样频繁的切换思路,容易抓不到重点。算法的学习是有技巧的,因为已知的算法种类有限,将上图列出的几种算法系统的学习一遍,基本就会降低难度。

2025-06-15 18:29:53 347

原创 从事算法工作对算法刷题量的需求

其实当你刷了这么多题目后,明显会感觉思维能力有了很大的提升,也自然会发现面试时候考的算法,其实「适配度」很高并没有想象的那么难。之后,再举一反三,练习更多相关的题目,当你能做到用同一个算法解决一类共性问题,做到多题一解时,才算是真正理解了。想要去大厂面试,1000 道算法题目其实算是一个标准线,一般至少要刷600多道。不得不说,现在大厂面试基本每一轮都会考几道算法题目,因此,越来越多的小伙伴意识到刷题的重要性。好了,今天的文章分享就到这里了,希望对大家的学习有帮助哦!从【通过率高】的刷起!

2025-06-14 13:01:24 239

原创 拓扑排序 + 深度优先搜索解决问题

当节点 u 的所有相邻节点的状态都是「已访问」时,将节点 u 的状态更新为「已访问」,并将节点 u 入栈。当所有节点都访问结束之后,如果没有找到有向图中的环,则存在拓扑排序,所有节点从栈顶到栈底的顺序即为拓扑排序。是:对于一个特定节点,如果该节点的所有相邻节点都已经搜索完成,则该节点也会变成已经搜索完成的节点,在拓扑排序中,该节点位于其所有相邻节点的前面。深度优先搜索的过程中需要维护每个节点的状态,每个节点的状态可能有三种情况:「未访问」、「访问中」和「已访问」。初始时,所有节点的状态都是「未访问」。

2025-06-02 10:41:04 300

原创 分布式锁的干货分享及应用

如果标志位为 1 ,表示锁已经被其他线程占用,当前线程只有一直循环等待,直到它能够成功地将标志位设置 1。Spinlock通过原子的CAS指令:当一个线程需要访问共享资源时,它会检查一个标志位,如果标志位为 0 ,则线程可以获取锁,并将标志位设置为 1。如下图所示,任何提供三个特性的服务都可以提供分布式锁的能力,资源可以是文件或者键值对等,通过创建文件,创建键值对等原子操作,通过创建成功的结果来表明所有权的归属,同时通过。在Spinklock中,线程会循环检查互斥量的状态,直到它处于可用状态。

2025-05-21 11:39:03 216

原创 uthash是一个非常轻量级的库

这种配置方式虽然简单,但是使用操作却需要用到大量的宏函数。在使用宏函数时不像使用普通函数一样自由和遍历,且通常难以debug。并且还需要根据指定的方式定义哈希节点,如要求必须存在。是一个非常轻量级的库。该库的使用非常简单,无需格外的静态库或动态库,仅需导入目标的头文件即可。时第二多个参数必须与哈希节点中作为键的变量的字面量一致,等等。好了,今天的文章分享就到这里了,希望对大家的学习有帮助哦!那么是否还建议学习使用。

2025-05-20 20:12:14 242

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除