我的一片天

我的一片天
posts - 27, comments - 12, trackbacks - 0, articles - 16
   :: 首页 :: 新随笔 :: 联系 ::  :: 管理

Delphi中用临界区线程同步

Posted on 2008-08-23 22:28 xyz 阅读(1064) 评论(0)  编辑 收藏 引用 所属分类: Delphi
Delphi中用临界区线程同步
多线程程序中,如果各个线程要访问同一个资源,如同一个变量
这时就要使用线程同步技术,才不会使线程之间产生冲突和干扰
线程同步有多种办法,使用临界区是其中最简单,也是效率最高的办法(CPU占用时间最少)
使用临界区代码如下:
先声明一个TRTLCriticalSection类型的全局变量
var
  MyCs: TRTLCriticalSection;
在程序开始或建立线程之前,初始化
  InitializeCriticalSection(MyCs);//初始化临界区
在程序结束或所有线程结束后,删除它
  DeleteCriticalSection(MyCs);//删除临界界
再在线程中要同步的地方加入
    EnterCriticalSection(MyCs); //进入临界区
    try
      //程序代码
    finally
      LeaveCriticalSection(MyCs); //离开临界区
    end;
只有注册用户登录后才能发表评论。