Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> pop из потока 
:(
    Опции темы
Валерия
Дата 4.2.2009, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 598
Регистрация: 10.3.2007

Репутация: нет
Всего: 8



Код

open(file, "file.txt");
@list=<file>;
close file;


for my $i (1..10) {
    push @threads, threads->create(\&get_now, $i);
}


foreach my $thread (@threads) {
    $thread->join();
}

sub get_now {
    print pop @list;
    print "\n";
}

Вот такой код должен вывести каждую строку из файла file.txt
Но выводит только последнюю 10 раз.
Если это дело не запихывать в потоки - то нормально работает.
Я так поняла что pop не может изменить глобальный массив, а лишь может прочитать?
Функция ведь прочитывает последний елемент и удаляет его...
PM MAIL   Вверх
FooBar
Дата 4.2.2009, 21:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 58
Регистрация: 25.2.2008

Репутация: 2
Всего: 3



в поток попадает копия массива, чтобы сделать его общим нужно использовать threads::shared http://perldoc.perl.org/threads/shared.html
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0384 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.