博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转-临界区对象TCriticalSection与TRTLCriticalSection的区别
阅读量:6232 次
发布时间:2019-06-22

本文共 749 字,大约阅读时间需要 2 分钟。

TRTLCriticalSection是一个结构体,在windows单元中定义;是InitializeCriticalSection,  EnterCriticalSection,  LeaveCriticalSection,  DeleteCriticalSection 等这几个kernel32.dll中的临界区操作API的参数;  TCriticalSection是在SyncObjs单元中实现的类,它对上面的那些临界区操作API函数  进行了了封装,简化并方便了在Delphi的使用;  如TCriticalSection.Enter;就是调用了EnterCriticalSection这个API函数。  多线程程序中,如果各个线程要访问同一个资源,如同一个变量  这时就要使用线程同步技术,才不会使线程之间产生冲突和干扰  线程同步有多种办法,使用临界区是其中最简单,也是效率最高的办法(CPU占  用时间最少)  使用临界区代码如下:  先声明一个TRTLCriticalSection类型的全局变量  var    MyCs:TRTLCriticalSection;    在程序开始或建立线程之前,初始化    InitializeCriticalSection(MyCs);//初始化临界区    在程序结束或所有线程结束后,删除它    DeleteCriticalSection(MyCs);//删除临界区    再在线程中要同步的地方加入    EnterCriticalSection(MyCs); //进入临界区    try      //程序代码    finally      LeaveCriticalSection(MyCs); //离开临界区    end;

 

转载地址:http://raqna.baihongyu.com/

你可能感兴趣的文章
设计模式(一)
查看>>
3分钟理解响应式布局
查看>>
LeCun再度回应卸任:我没有被取代,Jérôme 的朋友爆料趣事
查看>>
【零基础】PostgreSQL从入门到精通
查看>>
JavaScript的childNodes、nodeType、nodeValue属性
查看>>
sublime 常用python 插件
查看>>
美丽播直播直播系统解决方案:1000在线服务器方案
查看>>
truffle环境搭建
查看>>
微信官方接口文件
查看>>
Redis客户端细解、持久化
查看>>
玩转ActiveMQ与Zookeeper集群
查看>>
SAP CRM中间件下载equipment时遇到的一个错误
查看>>
Tomcat+Servlet面试题都在这里
查看>>
20180227,工作总结
查看>>
区块链100讲:详解区块链之P2P网络
查看>>
以太坊区块链技术开发岗位面试题集锦,附答案
查看>>
虚拟币交易所系统开发
查看>>
CenOS 7.4系统命令的使用
查看>>
2018年6月13日任务
查看>>
Windows10安装MySQL 8.0.11
查看>>