天天加油 - 助您成才
Delphi中的线程类
您正在看的DELPHI是:Delphi中的线程类。
方法执行完毕,所以一般来说,要让你的线程能够尽快终止,必须在Execute方法中在较短的时间内不断地检查Terminated标志,以便能及时地退出。这是设计线程代码的一个很重要的原则!

当然如果你一定要能立即退出线程,那么TThread类不是一个好的选择,因为如果用API强制终止线程的话,最终会导致TThread线程对象不能被正确释放,在对象析构时出现Access Violation。这种情况你只能用APIRTL函数来创建线程。


如果线程处于启动挂起状态,则将线程转入运行状态,然后调用WaitFor进行等待,其功能就是等待到线程结束后才继续向下执行。关于WaitFor的实现,将放到后面说明。


线程结束后,关闭线程Handle(正常线程创建的情况下Handle都是存在的),释放操作系统创建的线程对象。


然后调用TObject.Destroy释放本对象,并释放已经捕获的异常对象,最后调用RemoveThread减小进程的线程数。


其它关于Suspend/Resume及线程优先级设置等方面,不是本文的重点,不再赘述。下面要讨论的是本文的另两个重点:SynchronizeWaitFor


但是在介绍这两个函数之前,需要先介绍另外两个线程同步技术:事件和临界区。


事件(Event)与Delphi中的事件有所不同。从本质上说,Event其实相当于一个全局的布尔变量。它有两个赋值操作:SetReset,相当于把它设置为TrueFalse。而检查它的值是通过WaitFor操作进行。对应在Windows平台上,是三个API函数:SetEv

上一页  1 2 3 4 5 6 7 8 9 10  ... 下一页  >> 

排行

  1. Me关键字在.NET中的使用(转)
  2. VB.Net基本语句(推荐)
  3. 字符串加解密的类(VB.NET Sourc
  4. 走近VB.Net(一),VB中的族,类,
  5. .NET平台下Web树形结构程序设计
  6. 用VB.NET和Excel排生产计划--企业
  7. VB.net是怎样做到的(四、五)
  8. 在VB.NET中应用Agent技术
  9. DataGrid常见解决方案(三)--在Da
  10. Java 正则表达式自义bean
  11. Jsp分页原代码,及用法
  12. 在Swing的JEditorPane控件中实现
  13. 在Tomcat 配置Oracle 及DB2中创建
  14. Tomcat5配置Mysql JDBC数据库连接
  15. Delphi 7 中使用RAVE报表(五)
  16. win32 API窗口句柄的获得——我的
  1. 在C#中编写多线程应用程序,简单
  2. VB实现局域网内的文件传输
  3. VB.NET中的组件开发
  4. 用vb编一个计算器,需要用到数组
  5. 如何用VB.Net创建一个三层的数据
  6. VB.Net的ByVal和ByRef --ByVal时
  7. VB.NET的阳历与农历转换的算法
  8. VB.NET操作SQL Server完全模块
  9. VB中定制DllRegisterServer、Dll
  10. VB中打印ACCESS报表
  11. ECLIPSE ANT INTEGRATION
  12. 在eclipse + MyEclipse下配置建立
  13. 基于WebGIS的GPS系统的设计与实现
  14. JBuilder2005+JBOSS+Oracle9i开发
  15. mysql4.1.10的JDBC驱动(mysql-co
  16. 在Win2003+Tomcat+MySQL下运行JP
  1. vb可不可以实现虚拟中断
  2. VB.NET中的组件开发
  3. 用vb编一个计算器,需要用到数组
  4. 如何用VB.Net创建一个三层的数据
  5. VB.Net的ByVal和ByRef --ByVal时
  6. VB.NET的阳历与农历转换的算法
  7. VB.NET操作SQL Server完全模块
  8. VB中定制DllRegisterServer、Dll
  9. VB中打印ACCESS报表
  10. 基于WebGIS的GPS系统的设计与实现
  11. JBuilder2005+JBOSS+Oracle9i开发
  12. mysql4.1.10的JDBC驱动(mysql-co
  13. 在Win2003+Tomcat+MySQL下运行JP
  14. (原创)当server碰到server,soc
  15. [自创]JCreator安装学习使用方法
  16. 自动生成拼音(汉字反查到拼音)

最近更新

  • 推荐阅读
  • DELPHI《Delphi中的线程类》Delphi中的线程类