N
nanami
Unregistered / Unconfirmed
GUEST, unregistred user!
我想知道,在两个不同的线程中间是否能使用TCriticalSection来保护共享数据?
例如:
crsDB : TCriticalSection;
线程1:TRecvObj
procedure TRecvObj.execute;
begin
crs.enter;
//访问数据库
crs.leave
end;
线程2:TSendObj
procedure TSendObj.execute;
begin
crs.enter;
//访问数据库
crs.leave
end;
在线程1访问数据库的时候是不是线程2就不访问了?
另外,用mutex和用TCriticalSection的区别主要是什么?
例如:
crsDB : TCriticalSection;
线程1:TRecvObj
procedure TRecvObj.execute;
begin
crs.enter;
//访问数据库
crs.leave
end;
线程2:TSendObj
procedure TSendObj.execute;
begin
crs.enter;
//访问数据库
crs.leave
end;
在线程1访问数据库的时候是不是线程2就不访问了?
另外,用mutex和用TCriticalSection的区别主要是什么?