delphi中使用临界区来让线程同步


本文整理自网络,侵删。

 多线程程序中,如果各个线程要访问同一个资源,如同一个变量

这时就要使用线程同步技术,才不会使线程之间产生冲突和干扰

线程同步有多种办法,使用临界区是其中最简单,也是效率最高的办法(CPU占用时间最少)

使用临界区代码如下:

先声明一个TRTLCriticalSection类型的全局变量

var
MyCs:TRTLCriticalSection;

在程序开始或建立线程之前,初始化

InitializeCriticalSection(MyCs);//初始化临界区

在程序结束或所有线程结束后,删除它

DeleteCriticalSection(MyCs);//删除临界界

再在线程中要同步的地方加入

EnterCriticalSection(MyCs); //进入临界区
try
//程序代码
finally
LeaveCriticalSection(MyCs); //离开临界区
end;

相关阅读 >>

Delphi获取flash文件的影片时长,原始尺寸,帧数等信息

Delphi 去掉ide开启后弹出安全警告框

Delphi压缩与解压_不需要特别的控件

Delphi getdesktopdir 获取桌面路径

Delphi判断程序是否无响应

Delphi 打开资源管理器并定位到指定目录下的文件

Delphi 中判断windows系统是否是64位系统

Delphi xe 共享一个之前封装的多进程共享内存的memorystream

Delphi 获取cpuid的函数

Delphi 如何让 tgpimage 直接从流中加载图片?

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...