Perl 中的线程默认使用自己的本地存储来存储所有变量,以尽量减少线程对现有非线程感知代码的影响。在 Perl 中,可以使用属性创建线程共享变量:
use threads;
use threads::shared;
my $localvar;
my $sharedvar :shared;
HP-UX 运行时加载程序不支持动态加载包含 (TLS) 线程本地存储的共享库。
因此,当尝试导入包含 TLS 的模块时,会报告以下错误:
“/usr/lib/dld.sl:不能 shl_load() 包含线程本地存储的库”
所以我知道为什么我会收到一个错误我只是不清楚为什么很难用 TLS 加载一个库?