Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : warlock                              2:5020/400     05 Sep 2005  11:27:37
 To : All
 Subject : FreeBSD + Perl ithreads
 -------------------------------------------------------------------------------- 
 
 
 Всем привет,
 
 Hаткнулся на утечку памяти в связке FreeBSD 5.4 + Perl 5.8.7 + ithreads.
 Простой пример, который легко загоняется в корку:
 #!/usr/bin/perl
 
 use threads;
 use strict;
 use warnings;
 
 sub thread_func
 {
  my $i = shift;
  print "$i\n";
 }
 
 sub main
 {
  my (@thread, $i);
  for ( $i = 0; $i < 400; $i++ ) {
   $thread[$i]  = threads->create("thread_func",$i);
   #$thread_ID -> detach();
  }
  for ( $i = 0; $i < 400; $i++ ) {
   $thread[$i] -> join();
  }
  sleep(10);
  for ( $i = 0; $i < 400; $i++ ) {
   $thread[$i]  = threads->create("thread_func",$i);
  }
  for ( $i = 0; $i < 400; $i++ ) {
   $thread[$i] -> join();
  }
  sleep(10);
 }
 
 &main();
 Какието ресурсы (видмо интерпритатор для каждой триды)не отпускается после
 завершения. И естсесвенно как только дело доходит до свопа - перл падет в
 корку.
 Результат одинаково отрицательный как с join так и с detach.
 
 Есть у когонить идеи как боротся? 
 
 Спасибо
 warlock
 --- ifmail v.2.15dev5.3
  * Origin: elcat (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 FreeBSD + Perl ithreads   warlock   05 Sep 2005 11:27:37 
Архивное /ru.perl/85787bdf0baa.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional