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/