M
masm
Unregistered / Unconfirmed
GUEST, unregistred user!
IdTCPServer支持多线程,在有数据到来的时候IdTCPServer.OnExecute引用Form1.IdTCPServer1Execute(AThread: TIdPeerThread);这个过程,假设这个过程中有变量
VAR
A,B:Integer;
一段代码;
A:=1;//----------------1
...
A:=A+2;//---------------2
...
B:=A;//------------------3
...
那么,一个线程将执行到3的时候,刚好有另一个线程执行到1,那么B=1,出错了!
怎么办?
VAR
A,B:Integer;
一段代码;
A:=1;//----------------1
...
A:=A+2;//---------------2
...
B:=A;//------------------3
...
那么,一个线程将执行到3的时候,刚好有另一个线程执行到1,那么B=1,出错了!
怎么办?