社区
C++ Builder
帖子详情
请问怎样使用TCritialSection类
winapp
2003-03-11 11:14:53
请问怎样使用TCritialSection类,需要专门include 什么文件吗?
...全文
72
6
打赏
收藏
请问怎样使用TCritialSection类
请问怎样使用TCritialSection类,需要专门include 什么文件吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gjgj3368
2003-03-11
打赏
举报
回复
包含头文件
#include <syncobjs.hpp>
创建出TCritialSection的实例以后使用Enter()和Leave()方法或Acquire()和Release()方法
....
MyCritialSection->Enter();
//MyCritialSection->Acquire();
...
需要同步的代码
...
MyCritialSection->Leave();
//MyCritialSection->Release();
举列:
pLockXY->Acquire(); // lock out other threads
try
{
Y = sin(X);
}
__finally
{
pLockXY->Release();
}
OK!
HUANG_JH
2003-03-11
打赏
举报
回复
TRTLCriticalSection SendCommandSect; //定义临界区对象
InitializeCriticalSection( &SendCommandSect ); //初始化
...
void __fastcall TProduceClass::SendCommandDataRoutine( void )//线程函数
{
//在线程函数中添加
while( !Application->Terminated)
{
EnterCriticalSection(&SendCommandSect);
//线程函数要干的事情
LeaveCriticalSection(&SendCommandSect);
}
}
...
DeleteCriticalSection( &SendCommandSect );//退出删除
cheese
2003-03-11
打赏
举报
回复
包含头文件
#include <syncobjs.hpp>
创建出TCritialSection的实例以后使用Enter()和Leave()方法
....
MyCritialSection->Enter();
...
需要同步的代码
...
MyCritialSection->Leave();
....
需要注意的是Enter()和Leave()必须成对使用,否则后面使用Enter()的线程会无限等待直到前一个线程Leave()。
cheese
2003-03-11
打赏
举报
回复
包含头文件
#include <syncobjs.hpp>
创建出TCritialSection的实例以后使用Enter()和Leave()方法
....
MyCritialSection->Enter();
...
需要同步的代码
...
MyCritialSection->Leave();
....
需要注意的是Enter()和Leave()必须成对使用,否则后面使用Enter()的线程会无限等待直到前一个线程Leave()。
winapp
2003-03-11
打赏
举报
回复
还有TMuiltiReadExclusiveWriteSynchronizer呢?简单说说吧.
winapp
2003-03-11
打赏
举报
回复
多谢几位!我在BCB开发人员指南上看到了gjgj3368(冷面修罗)的例子,可是没看到要包含<syncobjs.hpp>
其它几位请问你们看的哪本书?
Delphi里面的TCriticalS
ect
ion
对象的用法(如何
使用
锁)
Delphi里面的TCriticalS
ect
ion
对象是将包含它的对象给锁住。 比如: TAsioDataBuffer = class procedure Setstate(const Value: Integer); //数据锁 public FDataLock, FSendLock: TCriticalS
ect
ion
; Writedata, SendDat...
扩展Delphi的线程同步对象(l转)
作者:于华 在编写多线程应用程序时,最重要的是控制好线程间的同步资源访问,以保证线程的安全运行。Win 32 API提供了一组同步对象,如:信号灯(Semaphore)、互斥(Mutex)、临界区(CriticalS
ect
ion
)和事件(Event)等,用来解决这个问题。 Delphi分别将事件对象和临界区对象封装为Tevent对象和
TcritialS
ect
ion
对...
Delphi 中多线程同步的一些处理方法
Delphi 中多线程同步的一些处理方法 当创建了多个线程,并且多个线程都要访问同一资源,,就有可能出现混乱,于是用Synchronize来控制,使同一时间只有一个线程
使用
那部分资源,Synchronize参数里面的代码就是多线程需要公共的代码!线程是进程内一个相对独立的、可调度的执行单元。一个应用可以有一个主线程,一个主线程可以有多个子线程,子线程还可以有自己的子线程,这样就...
扩展Delphi的线程同步对象(1)
扩展Delphi的线程同步对象(1) [ 作者: 于华 添加时间: 2001-5-5 18:01:08 ] 来源:www.ccidnet.com 在编写多线程应用程序时,最重要的是控制好线程间的同步资源访问,以保证线程的安全运行。Win 32 API提供了一组同步对象,如:信号灯(Semaphore)、互斥(Mutex)、临界区(CriticalS
ect
ion
)和事件(Event)等,用来解决...
扩展Delphi的线程同步对象(1) (转)
扩展Delphi的线程同步对象(1) (转)[@more@]扩展Delphi的线程同步对象(1) [ 作者: 于华 添加时间: 2001-5-5 18:01:08 ]来源:www.cci.NET.com 在编写多线程应用程...
C++ Builder
13,874
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章