摘要: 在程序中使用多线程的目的是什么? 1、提高效率,增加任务的吞吐量2、提升CPU等资源的利用率,减少CPU的空转 多线程的应用在日常开发中很多,带来了很多的便利,让我们以前研究下在多线程场景中要注意问题吧,一般主要从这三个方面考虑 1、原子性2、可见性3、有序性 如果不能保证原子性、可见性和顺序性会有 阅读全文
posted @ 2023-05-11 18:43 maji233 阅读(201) 评论(0) 推荐(0) 编辑
摘要: C++ 中的 volatile 关键字,std::atomic 变量及手动插入内存屏障指令(Memory Barrier)均是为了避免内存访问过程中出现一些不符合预期的行为。这三者的作用有些相似之处,不过显然它们并不相同,本文就将对这三者的应用场景做一总结。 这三者应用场景的区别可以用一张表来概括: 阅读全文
posted @ 2022-03-29 16:28 maji233 阅读(1452) 评论(0) 推荐(0) 编辑
摘要: 转自 https://zhuanlan.zhihu.com/p/135241403 提到redis的事务,相信很多初学的朋友会对它的理解和使用有些模糊不清,料想它和我们常见的关系型数据库(mysql 、mssql等)中的事务相同,也支持回滚,但这样理解就进入了一个误区,首先:关系型数据中的事务都是原 阅读全文
posted @ 2021-10-17 23:03 maji233 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 链接:https://www.nowcoder.com/questionTerminal/2f3a2a00894b485dafceed12917caf0a?orderByHotValue=1&mutiTagIds=609_607&page=3&onlyReference=false来源:牛客网 页式 阅读全文
posted @ 2021-09-29 17:50 maji233 阅读(974) 评论(0) 推荐(0) 编辑
摘要: //先看ans赋值和谁(r=mid-1或者l=mid+1)在一起 //如果和l=mid+1在一起,说明是寻找当前判断条件的最后一个 //如果和r=mid-1在一起,说明是寻找当前判断条件的第一个 //上面说的当前判断条件,需要看清楚ans赋值是在if还是在else里,如果在else里,要取if的反条 阅读全文
posted @ 2021-08-22 22:32 maji233 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 一篇很好的讲8大排序的博客 选择排序 (不稳定) 选择排序是给每个位置选择当前元素最小的,比如给第一个位置选择最小的,在剩余元素里面给第二个元素选择第二小的,依次类推,直到第n-1个元素,第n个元素不用选择了,因为只剩下它一个最大的元素了。那么,在一趟选择中,如果当前元素比一个元素大,而该小的元素又 阅读全文
posted @ 2021-08-21 22:04 maji233 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 内网的一台电脑要上因特网对外开放服务或接收数据,都需要端口映射 [1] 端口映射分为动态和静态。动态端口映射:内网中的一台电脑要访问网站,会向NAT网关发送数据包,报头中包括对方网站IP、端口和本机IP、端口,NAT网关会把本机IP、端口替换成自己的公网IP、一个未使用的端口,并且会记下这个映射关系 阅读全文
posted @ 2021-02-17 21:50 maji233 阅读(511) 评论(0) 推荐(0) 编辑
摘要: 转自 https://baijiahao.baidu.com/s?id=1654694618189745916&wfr=spider&for=pc redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RD 阅读全文
posted @ 2020-11-21 22:16 maji233 阅读(282) 评论(0) 推荐(0) 编辑
摘要: C是一致性,A是可用性,P是分区容错。前两个没什么好说的,主要是P我不太清楚。然后我看文章中最后的证明,有点明白了。分区是指两个服务器之间发送信息失败。而分区容错就是系统允许发生这种两个服务器之间无法传输数据的情况。 也就是说C和A如果算是正面的、好的性质,那么P就是负面的、坏的性质。 那为什么允许 阅读全文
posted @ 2020-11-18 15:38 maji233 阅读(92) 评论(0) 推荐(0) 编辑
摘要: 1.failover:失效转移Fail-Over的含义为“失效转移”,是一种备份操作模式,当主要组件异常时,其功能转移到备份组件。其要点在于有主有备,且主故障时备可启用,并设置为主。如Mysql的双Master模式,当正在使用的Master出现故障时,可以拿备Master做主使用 2.failfas 阅读全文
posted @ 2019-10-31 11:57 maji233 阅读(2858) 评论(0) 推荐(0) 编辑