是将一个变量推入一个线程安全操作的数组?

时间:2010-07-22 02:47:50

标签: perl multithreading thread-safety reentrancy

我有以下Perl代码:

push(@myArray, $myValue);

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

1 个答案:

答案 0 :(得分:2)

perl中大多数函数的线程安全性取决于它们的底层C例程,对于内置函数,例如push,没有提到线程安全性,所以你必须假设它不是。< / p>

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