是 inet_aton
线程安全?我知道根据 UNP POSIX 不需要很多 Sockets API 是线程安全的,所以我必须假设它们不是,但一般来说我怎么知道某些东西在 Perl 中是否是线程安全的?我需要在多大程度上锁定我调用的库函数?我如何锁定它们?当我尝试类似 lock(&inet_aton)
它给了我一个错误:Can't modify non-lvalue subroutine call in lock
.
是的,我读过:Thread-Safety of System Libraries
最佳答案
如果您阅读了 inet_aton
manpage仔细你会发现这个调用不使用任何共享状态(与同一联机帮助页中描述的 inet_ntoa
函数相反),因此应该是线程安全的。
函数将其结果写入调用者提供的结构也支持这一点。
Perl 使用 a thin wrapper on top of those functions因此不会改变底层库的线程安全性。
关于perl - Perl 的 inet_aton 线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2319469/