技术

最终一致性和强最终一致性的区别

T796
0
最近学习了一些 CRDT(Conflict-free replicated data type,无冲突可复制数据类型)相关的知识,其中,提到,CRDT 满足强最终一致性,这是

无锁多线程那些事

T9706
0
无锁多线程相关概念和技术,包括原子操作、内存顺序、内存模型、CAS等。

首次抓到编译器 Bug

T1335
0
写代码这么多年,多次怀疑碰到了编译器 Bug,但最终却总是自己的责任,这次终于抓到了一个真正的编译器 Bug,记录一下。 最近公司的一个项目的编译

C++ 中的全局常量

T1616
0
前些天偶然注意到项目的头文件里定义了大量全局常量,也就是类似 const int foo = 5 这种。这些常量,有些是简单的数值型,但大部分是 CComBSTR、std

一个有趣的Bug

T374
0
今早一到公司,就看到隔壁组一堆人在讨论一个 Bug,足足半个多小时没有结果。人散了以后,一位同事找我帮忙看一下,发现是因为一个函数被递归调用导

检测 Lua 脚本中的死循环

T1127
0
论坛上有人问,所以把以前做的东西拿出来秀一下。 Lua 是一门小巧精致的语言,特别适用于嵌入其它的程序为它们提供脚本支持。不过脚本通常是用户编写的,

一个轻量级的信号量

T409
0
基于 SRWLOCK 和条件变量(Condition Variable)实现,需要 Windows Vista 及以上操作系统,编译时 _WIN32_WINNT 要大于 0x0600。 基本功能和用 CreateSemaphore 创建出来的差不

多线程中的单件模式

T1119
0

单件模式可能是所有设计模式中最简单的一个了,但在 C++ 中,尤其是还要支持多线程的话,要想写一个正确的实现却并不容易。