ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Это многопоточность ? ))
  #1  
Старый 27.03.2009, 14:55
Аватар для Велемир
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


Отправить сообщение для Велемир с помощью ICQ
По умолчанию Это многопоточность ? ))

PHP код:

<?php

    $urls 
= array();
    
$urls[0] = "http://www.wiw.ru";
    
$urls[1] = "http://www.google.ee";
    
$urls[2] = "http://www.google.ee";
    
$urls[3] = "http://www.google.ee";
    
$urls[4] = "http://www.google.ee";
    
$urls[5] = "http://www.google.ee";
    
$urls[6] = "http://www.google.ee";
   
    
$mh curl_multi_init();

    foreach (
$urls as $i => $url) {
      
$conn[$i] = curl_init(trim($url));
      
curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER1);
      
curl_multi_add_handle ($mh,$conn[$i]);
    }

    
// start performing the request
    
do {
      
$mrc curl_multi_exec($mh$active);
    } while (
$mrc == CURLM_CALL_MULTI_PERFORM);

    while (
$active and $mrc == CURLM_OK) {
      
// wait for network
      
if (curl_multi_select($mh) != -1) {
                
// pull in any new data, or at least handle timeouts
                
do {
              
$mrc curl_multi_exec($mh$active);
                } while (
$mrc == CURLM_CALL_MULTI_PERFORM);
      }
    }

    if (
$mrc != CURLM_OK) {
      print 
"Curl multi read error $mrc\n";
    }

    
// retrieve data
    
foreach ($urls as $i => $url) {
      if ((
$err curl_error($conn[$i])) == '') {
                
$res[$i]=curl_multi_getcontent($conn[$i]);
      } else {
                print 
"Curl error on handle $i$err\n";
      }
      
curl_multi_remove_handle($mh,$conn[$i]);
      
curl_close($conn[$i]);
    }
   
    
curl_multi_close($mh);

    
print_r($res);

?>
Погуглил и решил проверить.Вроде работает,но не отображается ничего таск менеджере.Это и есть многопоточность,или же это иллюзии?)
 
Ответить с цитированием

  #2  
Старый 27.03.2009, 14:58
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Это мультикурл, запросы выполняются параллельно. По идее это многопоточность,но, насколько я знаю, в многопоточности нет. поправьте, если не так.
 
Ответить с цитированием

  #3  
Старый 27.03.2009, 15:00
Аватар для Велемир
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


Отправить сообщение для Велемир с помощью ICQ
По умолчанию

Как понять нет ?) Выигрыш-то есть какой-то ? =_=,ибо другое я не осилил.
 
Ответить с цитированием

  #4  
Старый 27.03.2009, 15:04
Аватар для wildshaman
wildshaman
Постоянный
Регистрация: 16.04.2008
Сообщений: 889
Провел на форуме:
12942062

Репутация: 1550


Отправить сообщение для wildshaman с помощью ICQ
По умолчанию

Цитата:
Сообщение от Велемир  
Как понять нет ?) Выигрыш-то есть какой-то ? =_=,ибо другое я не осилил.
Выигрыш есть, бузксловно. Так скрипт проходится сразу по 10 линкам, а не по очереди
 
Ответить с цитированием

  #5  
Старый 27.03.2009, 15:10
Аватар для Велемир
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


Отправить сообщение для Велемир с помощью ICQ
По умолчанию

Ммм... Я вместо foreach() поставил цикл из for и решил выводить значение $mrc в первом цикле do while.Почему выводит -1?

$conn[$i] = curl_init(trim($urls[0]));

ЗЫ: Я это делал для того,чтобы один и тот же линк открыть n-ое число раз или послать n-ое число раз запрос.

Последний раз редактировалось Велемир; 27.03.2009 в 15:18..
 
Ответить с цитированием

  #6  
Старый 27.03.2009, 15:34
Аватар для Велемир
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


Отправить сообщение для Велемир с помощью ICQ
По умолчанию

Проблему решил простой конструкцией:

for($i=0;$i<100;$i++) {

$urls[] = $urls[0];

}

Чет заранее не дошло...
 
Ответить с цитированием

  #7  
Старый 27.03.2009, 15:59
Аватар для rushter
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию

Это жалкое подобие
 
Ответить с цитированием

  #8  
Старый 27.03.2009, 16:16
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

Цитата:
Сообщение от Велемир  
Проблему решил простой конструкцией:

for($i=0;$i<100;$i++) {

$urls[] = $urls[0];

}

Чет заранее не дошло...
Многопоточность - когда потоки идут ПАРАЛЕЛЬНО. А в твоем случае - цикл. Т.е. поток за потоком, т.е. ПОСЛЕДОВАТЕЛЬНО. Это НЕ многопоточность!
 
Ответить с цитированием

  #9  
Старый 27.03.2009, 16:29
Аватар для geezer.code
geezer.code
Reservists Of Antichat - Level 6
Регистрация: 22.01.2007
Сообщений: 616
Провел на форуме:
7452489

Репутация: 1359


По умолчанию

Цитата:
Сообщение от mailbrush  
Многопоточность - когда потоки идут ПАРАЛЕЛЬНО. А в твоем случае - цикл. Т.е. поток за потоком, т.е. ПОСЛЕДОВАТЕЛЬНО. Это НЕ многопоточность!
ок, а давай тогда пример языка, поддерживающего многопоточность, только сделай запуск потоков одновременно
 
Ответить с цитированием

  #10  
Старый 27.03.2009, 16:34
Аватар для mailbrush
mailbrush
Познавший АНТИЧАТ
Регистрация: 24.06.2008
Сообщений: 1,996
Провел на форуме:
6075534

Репутация: 2731


Отправить сообщение для mailbrush с помощью ICQ
По умолчанию

.bat
Запускаешь, н.п. несколько брутов дедов =)
+статья была на ачате о многопоточности в пхп.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конкуренция в сети и в жизни. blaga Авторские статьи 12 21.05.2007 19:06
Начинающим хэкерам. MC_Brute Чужие Статьи 20 16.03.2007 05:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ