多线程

无锁多线程那些事

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

一个轻量级的信号量

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

多线程中的单件模式

T1119
0

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

锁?不锁?如何锁?

T2446
0
注:本文有一些不准确的地方,如对相关内容感兴趣,推荐阅读《无锁多线程那些事》。 加锁、解锁(同步/互斥)是多线程中非常基本的操作,但我却看到不

一个轻量级的单写多读锁

T388
0
与《windows核心编程》上的那个相比最大的优势是体积小,它只有四个字节(《windows核心编程》上的那个至少是它的10倍),如果你有大

一种引用计数机制的实现

T970
0
毫无疑问,引用计数是一种非常有效的动态控制对象生命周期的机制。我们最熟悉的引用计数实现可能就要数 COM 的 AddRef 和 Release 了。但这种机制也有明显的缺点,那就

对windows互锁函数的补充

T421
0
互锁函数是多线程处理中最简单高效的手段之一,但这些函数的功能实在是太差劲了,要求稍微复杂一点,就完成不了。比如 if( n > 100 ) n++; 这么简单的功能,它