2008年2月3日
摘要: 写GDI的时候,我们经常会由于粗心大意,忘记释放GDI资源,导致GDI句柄泄露。再加上如果单元测试做的不好,就会在产品发布以后发生问题。这里我将陆续记录一些GDI编程需要注意的地方,作为今后单元测试中的一部分来进行。
阅读全文
摘要: Semaphore是旗语的意思,在Windows中,Semaphore对象用来控制对资源的并发访问数。Semaphore对象具有一个计数值,当值大于0时,Semaphore被置信号,当计数值等于0时,Semaphore被清除信号。每次针对Semaphore的wait functions返回时,计数值被减1,调用ReleaseSemaphore可以将计数值增加 lReleaseCount 参数值指定的值。
阅读全文
摘要: Event即事件是一种用于进行线程/进程间同步的对象,事件有置位和复位两种状态,当线程通过waiting functions等待Event对象置位时该线程将进入阻塞状态,当该Event对象被置位或等待超时后,等待的线程将恢复执行。Event可以用在一个线程要等待其它线程时。
阅读全文
摘要: Mutex是互斥体的意思,当一个线程持有一个Mutex时,其它线程申请持有同一个Mutex会被阻塞,因此可以通过Mutex来保证对某一资源的互斥访问(即同一时间最多只有一个线程访问)。
阅读全文