6

我有以下 Perl 代码:

push(@myArray, $myValue);

操作是原子的,还是我需要使用锁,如果多个线程将在多个线程上执行相同的操作?

4

1 回答 1

2

perl 中大多数函数的线程安全取决于它们的底层 C 例程,并且在内置函数的情况下,就像push没有提到线程安全一样,所以你必须假设它不是。

查看perlthrtut手册页,特别是标题为“基本信号量”的部分。使用信号量,您可以在任意代码段中强制互斥。

于 2010-07-22T21:24:14.410 回答