摘要:
原理分析:互斥对象是系统内核对象, 各线程都可以拥有它, 谁拥有谁就能执行; 执行完毕, 用 ReleaseMutex 函数释放拥有权, 以让其他等待的线程使用.其他线程可用 WaitForSingleObject 函数排队等候(等候也可以理解为排队申请).使用过程: var hMutex: THa 阅读全文
摘要:
"临界区"(CriticalSection): 当把一段代码放入一个临界区, 线程执行到临界区时就独占了, 让其他也要执行此代码的线程先等等; 这和前面用的 Lock 和 UnLock 差不多; 使用格式如下: var CS: TRTLCriticalSection; {声明一个 TRTLCriti 阅读全文
摘要:
据说 Event(事件对象) 是多线程最原始的同步手段, 我觉得它是最灵活的一个.Event 对象(的句柄表)中主要有两个布尔变量, 从它的建立函数中可以看得清楚: function CreateEvent( lpEventAttributes: PSecurityAttributes; {安全设置 阅读全文
摘要:
function WaitForSingleObject( hHandle: THandle; {要等待的对象句柄} dwMilliseconds: DWORD {等待的时间, 单位是毫秒} ): DWORD; stdcall; {返回值如下:} WAIT_OBJECT_0 {等着了, 本例中是: 阅读全文