gpt4 book ai didi

perl - perl中全局变量的线程安全

转载 作者:行者123 更新时间:2023-12-01 05:42:51 25 4
gpt4 key购买 nike

我有以下问题:

  1. 如何在 perl 中执行全局代码和初始化全局变量?
  2. 如果我写 use package_name;在多个包中,是否每次都执行全局代码?
  3. 这样定义的全局变量是线程安全的吗?

最佳答案

Perl 为每个线程制作所有代码和变量的完整副本。线程之间的通信是通过特别标记的shared variables (实际上不是共享的 - 每个线程中仍然有一个副本,但所有副本都会更新)。这是一个与许多其他语言截然不同的线程模型,因此线程安全问题是不同的——主要集中在复制对象以创建新线程时发生的情况,并且这些对象具有某种形式的资源供程序外部使用(例如数据库连接)。

据我所知,您关于use 的问题与线程并没有真正的关系? use 做了几件事;一个是加载指定的模块并运行其中的任何顶级代码;每个模块只发生一次,而不是每个 use 语句一次。

关于perl - perl中全局变量的线程安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15205953/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com