Lou*_*uis 6 concurrency perl multithreading sharing non-deterministic
我正在阅读关于$ @全局变量的一些问题,以及它是如何在它被处理之前被破坏的,因为成功的eval擦拭干净.
但是,如果它被并发线程中发生的错误所破坏呢?新的线程包说默认情况下不会共享内容,这意味着它是为数不多的主流语言之一"$ a = $ a;" 默认是确定性的(并且认为人们说大型项目中C#和Java比Perl更好).但我不确定特殊的全局变量.
我的直觉表明他们就像任何其他变量一样,因此他们不会被分享.我的大脑的本能说'让我们检查一下Stackoverflow上的向导'.
我检查了Perldoc上的线程教程,它涵盖了共享部分中的常规变量,但似乎继续进行而没有覆盖特殊变量.
即使我没有首先对它们进行本地化,我是否可以使用特殊变量而不会被其他线程破坏?例如,我可以从$ @中提取一个值而不必担心并行线程中发生的错误吗?
你的胆量是正确的,它们不是共享的!