Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: потоки для робота
 
 автор: Okey   (25.07.2008 в 21:23)   письмо автору
 
 

Здраствуйте.

Есть у меня робот парсер. Как запустить его в большое количество потоков, для большей продуктивности.?

  Ответить  
 
 автор: Okey   (26.07.2008 в 00:22)   письмо автору
 
   для: Okey   (25.07.2008 в 21:23)
 

никто не знает?

  Ответить  
 
 автор: Ramilka   (26.07.2008 в 13:24)   письмо автору
 
   для: Okey   (26.07.2008 в 00:22)
 

сейчас наверное многие начнут спорить но потоков как таковых в пхп нет. их можно эмулировать с помощью циклов, но это все равно не то

  Ответить  
 
 автор: cheops   (26.07.2008 в 15:26)   письмо автору
 
   для: Ramilka   (26.07.2008 в 13:24)
 

Потоков нет ни в одном языке программирования, включая С и C++, потоки это прерргатива операционной системы или среды исполнения - это не задача языков программирования. У языка программирования могут быть лишь интерфейсы доступа к ресурсам операционной системы, удобные или не очень.

  Ответить  
 
 автор: Ramilka   (26.07.2008 в 16:50)   письмо автору
 
   для: cheops   (26.07.2008 в 15:26)
 

Отчасти с Вами согласен. Windows позволяет через API создавать потоки (threads). И без разницы на каком языке это реализуется. С данном случае есть возможность "сказать" операционной системе, чтобы создала поток. А в случае пхп такой возможности нет (для Windows), хотя может быть и получиться через system() запускать отдельные процессы (fork)

  Ответить  
 
 автор: cheops   (26.07.2008 в 15:24)   письмо автору
 
   для: Okey   (25.07.2008 в 21:23)
 

Роботы выполняются длительное время... А как вы его запускаете? Повесте на cron запуск нескольких процессов. Синтаксис любого планировщика досускает запуск хоть тысячи заданий одновременно.

  Ответить  
 
 автор: Okey   (26.07.2008 в 16:44)   письмо автору
 
   для: cheops   (26.07.2008 в 15:24)
 

А можна сделать клонирование через forks??

  Ответить  
 
 автор: cheops   (27.07.2008 в 12:55)   письмо автору
 
   для: Okey   (26.07.2008 в 16:44)
 

PHP достаточно медленный (это и реализацией и концепцией обусловлено), если у вас скрипт работает медленно и требует запуска множества потоков, лучше смотреть в сторону более эффективного средства, того же C - там с системным вызовом forks() проблем не возникнет, в PHP боюсь потребуется специальное расширение (впрочем оно кажется уже существует).

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования