默认情况下为啥没有设置线程化 perl(带有 usethreads)?
Posted
技术标签:
【中文标题】默认情况下为啥没有设置线程化 perl(带有 usethreads)?【英文标题】:How come threaded perl (with usethreads) isn't set by default?默认情况下为什么没有设置线程化 perl(带有 usethreads)? 【发布时间】:2021-02-19 22:16:06 【问题描述】:根据INSTALL docs,
在某些平台上,perl 可以在编译时支持线程。要启用此功能,请运行
sh Configure -Dusethreads
默认是不支持线程编译。
线程实现相当稳定,为什么它不是默认的构建选项?构建选项似乎至少由 Debian 和 Alpine Linux 设置。是否有充分的理由在没有线程的情况下构建 Perl?线程化 perl 的缺点是什么?
【问题讨论】:
【参考方案1】:因为 Perl 的线程构建比非线程、非多重性[2] 构建慢 10%[1]。
-
您的体验可能会有所不同。
Multiplicity 在一个程序中支持多个解释器实例。
-DMULTIPLICITY
是 -Dusethreads
隐含和要求的(因为每个线程都有自己的解释器)。
【讨论】:
以上是关于默认情况下为啥没有设置线程化 perl(带有 usethreads)?的主要内容,如果未能解决你的问题,请参考以下文章