读书笔记——Windows核心编程(8)Interlocked单向链式栈
摘要:SLists使用了无锁算法来保证原子同步,以提升系统性能,避免了诸如优先级挂和互锁的问题。注意:所有的链表项必须对齐到MEMORY_ALLOCATION_ALIGNMENT。否则会出现奇葩的错误。(PS:看英文MSDN的API解释,我感觉这是从前插又从前取,是个栈的样子。)InitializeSLi...
阅读全文
读书笔记——Windows核心编程(8)Interlocked系列函数
摘要:先让我们来复习下小学知识A+B=C//式中A为被加数,B为加数。A-B=C//式中A为被减数,B为减数。再让我们来明确一个知识点:返回值为void的Windows函数意味着一定会执行成功。------------------by wls------------------我是可爱的分割线------...
阅读全文
读书笔记——Windows核心编程(2)比较字符串
摘要:1. CompareString以符合用户语言习惯的方式,EX版本使用UNICODEint CompareString( __in LCID Locale, __in DWORD dwCmpFlags, __in LPCTSTR lpString1, __in int cchCoun...
阅读全文
读书笔记——Windows核心编程(2)禁止C运行时触发的所有Debug Assertion Failed对话框
摘要:1 定义一个函数void _invalid_parameter( const wchar_t * expression, const wchar_t * function, const wchar_t * file, int line, uintptr_t pReserved...
阅读全文
读书笔记——Windows核心编程(15)在应用程序中使用虚拟内存
摘要:微软的Windows提供了三种机制对内存进行操控1 虚拟内存(最适合管理大型对象数组或大型结构数组)2 内存映射文件(大型数据流/文件,共享数据)3 堆(大量的小型对象)预订地址空间区域VirtualAllocPVOID VirtualAlloc(PVOID pvAddress,//内存地址,传NU...
阅读全文
问题解决——XP线程池找不到QueueUserWorkItem
摘要:2013年7月11号主管让同事写一个并发100的小工具进行什么压力测试,据说是创建100个线程。我表示这真真的是在坑人!线程创建消耗资源,以自己的笔记本来跑这个东西,时间片都消耗在了线程切换上了。所以推荐他使用线程池。------------------调皮的分割线-----------------...
阅读全文