没问题,不过要注意线程同步
在excute方法里处理
在excute方法里处理
解决方案 »
- frm.Show和Show()执行顺序?
- 在C++版看到一个指针的面试题
- ◎◎◎ 如何传递整形传输哦???
- 刚接触DELPHI,困扰一个多礼拜的2个问题。希望大家能帮助。
- 用了参数传递为什么出错??
- 如何禁止和启用dbgrid的鼠标双击事件?
- 用控件解析出EML格式文件的标题,发件人,收件人,是否带附件等
- 偶在备份数据库文件,偶用filelistbox,derectionlistbox,drivelistbox,选择文件原文件,但保存时用什么控件?opendilog?//原文件不止一个
- MDI子窗口的问题
- 利用Delphi BDE访问Sql Server数据库时,返回的纪录overflow怎么办?
- 在函数中NEW一个指针后,如何释放这个指针所占的资源
- 能否使用TFileStream一行一行的读写文本文件中数据?
在此方法中对TSTringList进行操作.
或使用TThreadList
CreateEvent //建立一个事件,安全,是否自动设置为无信号(waitFor完成后),初始信号,名称
WaitFor //如果设置为自动无信号,waitFor会将Event设为无信号
SetEvent //设置有信号
ResetEvent //设置无信号CreateSemaphore //建立信号,参数忘了大概是说最小,最大引用计数器,初始计数
WaitFor //Semaphore++,如超过最大计数器则阻塞进程
ReleaseSemaphore //将Semaphore引用计数据减一CreateMutex //互斥信号,
WaitFor //将信号lock,不成功则阻塞进程
ReleaseMutex //工作做完了,将信号UnLock,别的线程才能waitforWaitFor ==> WaitForSingleObject, WaitForMutpleObjects, Msg....还有TCriticalSection就比较简单了,不说了
具体方面具体使用了,看它适合哪方面。
最后记住CloseHandle(Event/Semaphore/Mutex);