Амаль
чтобы небыло дублей foreach ($arResult["ITEMS"] as $key => $value) { unset($arResult["ITEMS"][$key]); $arResult["ITEMS"][$value["CODE"]] = $value; }
Евгений Семашко
Да, уже мне гораздо больше нравится.
Евгений Семашко
Вопрос по unset
Alexander
глянь повыше
Alexander
в методе ран идет последующий инклуд
Alexander
https://github.com/f3ath/forkrunner/blob/master/src/ForkRunner.php#L39
Alexander
вот здесь
Alexander
я понять не могу причину типа параллельность вычислений достигается?
Alexander
да чет сомнительно... один фиг идет выполнение
Alexander
в общем причина точно есть, но понять я ее не могу )
Евгений Семашко
Вопрос по unset
только в foreach будет корректно работать такая конструкция, верно?
Alexander
хотя кажется понял https://github.com/f3ath/forkrunner/blob/master/src/ForkRunner.php#L30 вот тут оно подыхает и, соответственно, результат нигде не сохраняется
Евгений Семашко
я когда-то сталкивался с проблемой того, что внутри for или while некорректно отрабатывает unset и это было связано с проблемами указателей я попробую воспроизвести
Alexander
а какой кейс-то? может тупо array_shift поможет?
Alexander
http://php.net/manual/ru/function.die.php
Alexander
да нет же в реквайре идет хитровыебанное формирование массива результатов
Alexander
там результирующий файл получается вида <?php $result[$pid] = $childProccessResult; $result[$child2] = $childProcessResult
Alexander
он его инклюдит и получает результат со всех дочерних процессов в итоге
Alexander
да похоже что только так и надо работать ) сейчас прогнал на тесте такой код $children = []; $result = []; for ($i = 0; $i < 10; $i++) { $pid = pcntl_fork(); switch ($pid) { case -1: throw new Exception("HUI"); case 0: $result = getmypid(); break; default: $children[] = $pid; } } foreach ($children as $child) { pcntl_waitpid($child, $status); } $this->assertCount(10, $result); и ахуел )
Alexander
то есть куда-то сложить результат и дергать его
invariance
чо это
invariance
??????
Alexander
это мультипоточное программирование на похапе
Alexander
с конкуренцией и шалавами
Alexander
в смысле мусорными файлами
Alexander
посмотри вон там выше пакет коняшкин
Alexander
но вот хотелось бы какого-то более элегантного решения, чем сирануть в файл
Alex
Мультипоточность на пыхе? Кто знает номер психиатрии?
Alex
Это страх и ненависть
invariance
да
invariance
но это не многопоточность
invariance
а многопроцессность
invariance
параллельно выполняемые форки процессов
invariance
а многопоточность в контексте одного процесса может работать
invariance
хуле ты умничаешь, если нихуя не знаешь?
invariance
мне правда интересно
Виктор
Вьеби ему уже, ну че он внатуре
Alexander
ну погодите, форк процесса - это же создание дочернего процесса
Alexander
хуячишь 10 форков - получаешь 10 дочек
Alexander
или я чего не понимаю?
invariance
все верно
Alexander
то есть по сути поток, нет?
invariance
смотря что ты под потоком подразумеваешь
invariance
на деле - ты создаешь 10 процессов
invariance
это не многопоточность
invariance
рекомендую погуглить про различия
invariance
Где я умничаю? Где я нихуя не знаю?
Alexander
а, ну да, потоки делят общую память
invariance
Лулс
invariance
Ничоси пыха жесткая
invariance
А это вообще используется?
invariance
нельзя реплаить несколько мессаг, блять
invariance
нихуя не знаешь
invariance
а потом умничаешь
invariance
нет, лол
invariance
процессы, карл
invariance
шта
Виктор
Да, я чет тоже не догнал
Виктор
Продолжайте срач, ну куда вы посоны
invariance
эм
Виктор
Я проебал начало, расскажи каким этом хуем сюда
invariance
прост
Виктор
Говорили про форки, многопоточность и все такое модное, у нас же конечно "горлышком бутылки" никогда база не бывает, у нас вычисления все тормозят, и тут про int|integer
Виктор
чет я не догнал
Виктор
а, окей
(;¬_¬)
господа, переводим тему в менее резкое русло
(;¬_¬)
а то как гопники у гаражей
Виктор
php - язык молодых и дерзкий, ну че ты
Виктор
а вообще, пока идет срачик, не постесняюсь снова спросить сообщество, кто заводил satis, ну?
(;¬_¬)
php - язык молодых и дерзкий, ну че ты
а ничо, ща нормас потрем, будет все чотко и по понятиям
invariance
причем тут pthreads, если он разрабатывается другими людьми?
invariance
а нахуй тогда говорить?)
invariance
если не знаешь
(;¬_¬)
я предупреждал
invariance
где я пиздел?
(;¬_¬)