摘要:
部分转载自:http://blog.csdn.net/morewindows/article/details/7445233步骤: 1、CreateEvent,创建一个事件内核对象。 2、SetEvent,将一个事件内核对象设为触发状态。而WaitForSingleObject函数就是等待一个事件被触发后,才继续执行。其实就相当于一个通电开关,按下了,才通电,通电了,才能继续执行。 3、ResetEvent,将一个事件内核对象设为未触发状态。 4、CloseHandle,关闭内核对象。事件内核对象的个人理解: 1、事件对象可以分为2种,一种为自动重置事件,别一种为手动重置事件。 ... 阅读全文
摘要:
转载自:http://blog.csdn.net/morewindows/article/details/7442639步骤: 1、创建一个CRITICAL_SECTION类型的变量,放在一个可以让所有的线程都可以访问的地方。 2、InitializeCriticalSection,初始化该变量 3、EnterCriticalSection,进入该临界区 4、LeaveCriticalSection,离开该临界区 5、DeleteCriticalSection,删除该临界区临界区的个人理解: 1、进入到临界区的代码,不能被其它线程给中断。也就是该段代码是以一种类似原子操作的方法来执... 阅读全文
摘要:
转载自:http://hi.baidu.com/lieyu063/item/351c75d4fb6f94cd1a72b4a5(1) _stdcall _stdcall是Pascal程序的缺省调用方式,参数采用从右到左的压栈方式,被调函数自身在返回前清空堆栈。WIN32 Api都采用_stdcall调用方式,按C编译方式,_stdcall调用约定在输出函数名前面加下划线,后面加“@”符号和参数的字节数。(2)_cdecl _cdecl是C/C++的缺省调用方式,参数采用从右到左的压栈方式,传送参数的内存栈由调用者维护。_cedcl约定的函数只能被C/C++调用,每一个调用它的函数都包含清空堆.. 阅读全文
摘要:
阅读全文