[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