【发布时间】:2012-10-23 22:30:25
【问题描述】:
我正在编写一些线程代码,我想知道 Perl 内置的函数和运算符是原子的,并且可以安全地在共享变量上使用而无需锁定。例如,有人告诉我++、--、+= 等不是因为它们是作为两个操作实现的。
在某处有清单吗?特别是共享数组原子上的push、pop、shift、unshift 和splice?
谢谢。
【问题讨论】:
-
“没有为共享数组实现拼接”
-
天啊!这样就没有原子方法可以在没有锁的情况下删除元素。 :-/
-
好吧,从中间。
unshift和pop工作。请注意,他们肯定会在内部使用某种锁。 -
对不起,我的意思是“多个元素”。
-
“我正在编写一些线程代码” - 很遗憾听到这个消息,Schwern。我希望你明天感觉更好。
标签: multithreading perl