perl - 将变量插入数组是线程安全操作吗?

标签 perl multithreading thread-safety reentrancy

我有以下 Perl 代码:

push(@myArray, $myValue);

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

最佳答案

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

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

关于perl - 将变量插入数组是线程安全操作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3305436/

相关文章:

iphone - NSOperationQueue 和并发与非并发

java - 如果线程实际上 hibernate 时间太长,是否可以跳过后续的 sleep() ?

java - 特定线程数

regex - 用正则表达式匹配一个字符串

regex - Perl 正则表达式/foo|bar/否定

c - 大家好,我在下面的程序中遇到段错误,但我无法弄清楚

c# - 在 C# 中使一个函数或一组语句线程安全的最佳方法是什么?

perl - 如何对 Perl 哈希值进行排序并相应地对键进行排序(可能在两个数组中)?

perl - WWW::Mechanize : 如何上传不同文件名的文件?

linux - 使 Python 文本变绿并使用旋转光标 - 新手问题