![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
Почему такое не работает? Разве через shared нельзя расшарить кроме переменной или масива еще и объект?
|
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
Расшарить - можно. Но не так) Да и очень многие не-pure perl модули с потоками не дружат (ТАК - точно не дружат, если создать новый объект в каждом потоке - могут и заработать).
PS: про "не так": threads::shared exports a version of bless() that works on shared objects such that blessings propagate across threads. PPS: если задача стоит "получить одновременно несколько страниц", то потоки - неправильный инструмент. Смотрите в сторону AnyEvent::HTTP. |
|||
|
||||
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
Про "не так" немного не поняла)
Мне именно подобным способом расшарить нужно) |
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
Мне очень интересно - зачем? Т.е. какую задачу вы этим пытаетесь решить?
Это сообщение отредактировал(а) DurRandir - 20.9.2010, 00:56 |
|||
|
||||
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
1) Нужны общие куки между всеми потоками
2) Однозначно будет меньше расход оперативы, а у меня чахленький сервер, поэтому если я такое проверну, смогу запустить больше потоков |
|||
|
||||
| shamber |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1422 Регистрация: 5.9.2006 Где: Россия Репутация: 17 Всего: 18 |
Валерия, а общие куки в файлик скинуть и оттуда прочитать разве нельзя?
|
|||
|
||||
| Валерия |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 598 Регистрация: 10.3.2007 Репутация: нет Всего: 8 |
Можно конечно, и если бы мне подходило такое решение, то я бы про него и спрашивала (или не спрашивала бы). А топик вообщем-то про общие объекты между потоками, наравне с общими переменными и массивами, и в данном случае просто привела пример с LWP. Это сообщение отредактировал(а) Валерия - 20.9.2010, 12:34 |
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
Валерия, еще есть LWP::Parallel http://search.cpan.org/search?query=LWP%3A...el&mode=all
там не многопоточнось, а как-то по другому работает... |
|||
|
||||
| DurRandir |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 335 Регистрация: 27.9.2009 Репутация: 14 Всего: 17 |
Ааа, вы считаете, что, запустив 20 потоков, у вас будет небольшой расход памяти? Вынужден вас разочаровать. Ну и таким способом ничего не выйдет. Далеко не факт, что LWP - потокобезопасный класс (хинт - читайте про thread-safety & reentrant methods, если хотите вызывать методы над общим объектом).
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |