ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

26.04.2009, 16:33
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме: 18127311
Репутация:
1676
|
|
Попробуй типа
PHP код:
use warnings;
use threads;
use threads::shared;
my $tn = 5;
my @trl = ();
my $start : shared = 1;
my $end = 4000;
for(0..$tn-1) { $trl[$_] = threads->create(\&func, $_) }
for(@trl) { $_->join }
sub func
{
while($start < $end)
{
{lock($start); $start++;} print $start."\n";
}
}
|
|
|

26.04.2009, 16:55
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 199
Провел на форуме: 861008
Репутация:
58
|
|
2Kaimi
работает но даже с запросами, $start идет по порядку...
хотя netstat показывает пять соединений у перла)
и вроде не грузит ни проц ни память)
и $end разве не нада расшаривать?
|
|
|

26.04.2009, 17:00
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
$end разве не нада расшаривать?
Не нужно, нужно расшаривать те переменные которые изменяются в процессе работы нитей, а в данном случае $end используется только для чтения.
|
|
|

26.04.2009, 17:03
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 199
Провел на форуме: 861008
Репутация:
58
|
|
спс ясно) а как всетаки сделать многопоточность?)
|
|
|

26.04.2009, 17:07
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
Kaimi тебе привел пример, вот его и бери за основу.
|
|
|

26.04.2009, 17:15
|
|
Участник форума
Регистрация: 28.07.2008
Сообщений: 199
Провел на форуме: 861008
Репутация:
58
|
|
взял за основу. по теории должна быть многопоточность но как уже говорил переменная выводится по порядку что видимо означает что все потоки выполняются последовательно.
в тех примерах что я привел выше переменная выодится хаотично а не по порядку...
и все таки как оптимизировать мой скрипт(жрет много памяти):
PHP код:
use threads;
use threads::shared;
use LWP::UserAgent;
|=1;
$thr = 10;
$ua = LWP::UserAgent->new();
$t=1;
print "start...\n";
while($t<100){
for(0..$thr) {
print "new thread...\n";
$trl[$_] = threads->create(\&func,$t++);
}
for(0..$thr) {
$trl[$_]->join;
}
sub func{
$t=$_[0];
print "new zap...$t\n";
my $res = $ua->post( "http://mysite.com", {email => $email } )->as_string;
$res=~m/1(.*)2/ig;
print $t." ".$1."\n";
}
Последний раз редактировалось j0ker13; 26.04.2009 в 18:12..
|
|
|

28.04.2009, 16:57
|
|
Новичок
Регистрация: 24.04.2009
Сообщений: 7
Провел на форуме: 20085
Репутация:
0
|
|
привет всем допустим у меня есть брутт на пёрл как его пременить помогите кто сможет
|
|
|

28.04.2009, 19:13
|
|
Познающий
Регистрация: 12.11.2007
Сообщений: 94
Провел на форуме: 4789789
Репутация:
71
|
|
Как запустить ? ... создай файл(в папке со скриптом) 1.bat в нем cmd.exe напиши, потом нажми на него ) и напиши perl имя скрипта.pl
|
|
|

29.04.2009, 21:42
|
|
Участник форума
Регистрация: 08.02.2009
Сообщений: 196
Провел на форуме: 1420275
Репутация:
127
|
|
Сообщение от mr-leon
привет всем допустим у меня есть брутт на пёрл как его пременить помогите кто сможет
Ну для начала нужно скачaть ActivePerl
|
|
|

30.04.2009, 13:27
|
|
Участник форума
Регистрация: 05.11.2008
Сообщений: 105
Провел на форуме: 292722
Репутация:
71
|
|
mr-leon, брут чего? И где ты его собираешься запускать? С локального или с сервера? Можно по подробнее, если хочешь расширенный ответ.
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|