我有以下 Perl 代码:
push(@myArray, $myValue);
如果多个线程将在多个线程上执行相同的操作,操作是原子的,还是我需要使用锁?
最佳答案
perl 中大多数函数的线程安全性取决于它们的底层 C 例程,在内置函数的情况下,如 push
没有提到线程安全,所以你必须假设它不是。
查看 perlthrtut
手册页,特别是标题为“基本信号量”的部分。使用信号量,您可以在代码的任意部分强制互斥。
关于perl - 将变量插入数组是线程安全操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305436/