
Windows编程
qscool1987
|厚积薄发|
|贵在坚持|
展开
-
关于多线程同步问题
研究Windows核心编程也很有一阵子了,对于多线程同步这个问题渐渐有一点自己的理解。 我觉得搞清楚这个问题必须弄清楚以下几个概念: 1.并发 2.共享 3.加锁 先说并发,这个要清楚线程调度是个怎么回事,一句话概括就是:处于相同优先级的可调度状态的线程是并发执行的。 再说共享,进程类的任何线程都可以访问进程资源(包括全局对象==)。 然后是加锁,先要知道为什么要加锁,原因就是并发的原创 2012-02-24 11:47:15 · 658 阅读 · 0 评论 -
互锁函数,原子操作方式,关键代码段
多个线程访问共享资源时会发生同步问题。根本原因是因为Windows是抢占式多线程环境。 线程在执行的时候随时可能被中断(运行完一个cpu时间或有更高优先级的线程要运行) 例如: //Define a global variable. long g_x = 0; DWORD WINAPI ThreadFunc1(PVOID pvParam) { g_x++; ret原创 2012-02-20 10:57:52 · 2369 阅读 · 0 评论