上一页 1 ··· 71 72 73 74 75 76 77 78 79 ··· 215 下一页
摘要: 原理分析: 互斥对象是系统内核对象, 各线程都可以拥有它, 谁拥有谁就能执行; 执行完毕, 用 ReleaseMutex 函数释放拥有权, 以让其他等待的线程使用. 其他线程可用 WaitForSingleObject 函数排队等候(等候也可以理解为排队申请). 使用过程: var hMutex: THandle; {应该先声明一个全局的互斥句柄} CreateMutex ... 阅读全文
posted @ 2009-02-13 21:25 万一 阅读(13977) 评论(33) 推荐(1) 编辑
摘要: 一下子跳到等待函数 WaitForSingleObject, 是因为下面的 Mutex、Semaphore、Event、WaitableTimer 等同步手段都要使用这个函数; 不过等待函数可不止 WaitForSingleObject 它一个, 但它最简单. function WaitForSingleObject( hHandle: THandle; {要等待的对象句柄} ... 阅读全文
posted @ 2009-02-13 15:07 万一 阅读(28218) 评论(6) 推荐(2) 编辑
摘要: 有点大, 进入看吧. 阅读全文
posted @ 2009-02-12 22:21 万一 阅读(5774) 评论(4) 推荐(0) 编辑
摘要: 先看一段程序, 代码文件: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; ... 阅读全文
posted @ 2009-02-12 18:15 万一 阅读(18356) 评论(7) 推荐(3) 编辑
摘要: procedure TForm1.FormCreate(Sender: TObject); var str: string; begin str := '万一'; ShowMessageFmt('%d, %d', [Length(str), ByteLength(str)]); {2,4} end; 阅读全文
posted @ 2009-02-12 15:04 万一 阅读(7579) 评论(8) 推荐(1) 编辑
摘要: function CreateThread( lpThreadAttributes: Pointer; {安全设置} dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; dwCreationFlags: DWORD; var lpThreadId: DWORD... 阅读全文
posted @ 2009-02-12 12:31 万一 阅读(12381) 评论(4) 推荐(3) 编辑
摘要: function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWORD; {堆栈大小} lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; dwCreationFlags: DWORD; var lpThreadId: DWOR... 阅读全文
posted @ 2009-02-11 23:18 万一 阅读(12382) 评论(6) 推荐(2) 编辑
摘要: function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine; {入口函数的指针} lpParameter: Pointer; dwCreationFlags: DWORD; var lpThreadId: DWO... 阅读全文
posted @ 2009-02-11 16:21 万一 阅读(14572) 评论(10) 推荐(3) 编辑
摘要: function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; {入口函数的参数} dwCreationFlags: DWORD; var lpThreadId: DWO... 阅读全文
posted @ 2009-02-11 10:42 万一 阅读(16859) 评论(25) 推荐(1) 编辑
摘要: function CreateThread( lpThreadAttributes: Pointer; dwStackSize: DWORD; lpStartAddress: TFNThreadStartRoutine; lpParameter: Pointer; dwCreationFlags: DWORD; {启动选项} var lpThreadId: DWORD )... 阅读全文
posted @ 2009-02-10 17:48 万一 阅读(21383) 评论(32) 推荐(0) 编辑
上一页 1 ··· 71 72 73 74 75 76 77 78 79 ··· 215 下一页