是Delphi全局过程线程安全

时间:2014-02-28 00:01:53

标签: multithreading delphi

如果两个或多个线程调用标准的Delphi / Pascal过程(不是对象的方法),这是线程安全的吗?没有实例数据,只是过程中的局部变量。 /> 我的猜测是,一个线程使用的本地存储可能被另一个线程损坏。

2 个答案:

答案 0 :(得分:9)

在堆栈上维护本地存储,这对每个线程都是唯一的。如果例程没有操纵全局数据,那么它是安全的。

答案 1 :(得分:0)

如果只有本地变种你应该没问题。如果我是你,我会测试这个理论:在proc中声明一个局部变量并在循环中增加一百万次,然后从两个线程调用proc并在百万个增量之后检查变量的值。