[devel] Re: perl-5.8.0-alt0.3 (important)
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_turbinal=2Eorg?=
Вт Окт 22 17:08:49 MSD 2002
On Tue, Oct 22, 2002 at 10:25:07AM +0400, Anton V. Boyarshinov wrote:
> In general, unless a module has been specifically vetted as
> thread safe it cannot be used in a threaded program. Most pure
> Perl modules should be thread safe but most XS modules are not.
> This goes for core modules too!
"Most XS modules are not" означает, что эти модули нельзя использовать в
перловой программе, которая непосредственно использует треды; точнее,
эти модули нельзя использовать в распаралеленном коде, т.к. в них могут
использоваться статические буферы и т.п. Это и есть thread-unsafe.
use threads;
for $n (1..10) {
async {
# здесь работать не будет
XSLibrary->static_function($n);
}
}
Это, однако, не значит, что эти модули вообще не будут работать, если
перл собран с поддержкой тредов.
Подробная информация о списке рассылки Devel