Я пытаюсь использовать pthreads в PHP, чтобы ускорить серию вычислений, которые в настоящий момент максимируют одно ядро процессора в течение нескольких секунд. Я разделить расчеты на ряд диапазонов и бегаю каждый диапазон в родительской теме:Возврат значения вызывающему потоку
$threads = array();
foreach($cp as $c) {
$threads[$c] = new ThreadedMatcher($params);
$threads[$c]->start();
}
я тогда хочу array_merge
массивов, созданные в каждом дочернем потоке (для каждого диапазона) в родительском потоке, чтобы получить значение по всему набору данных.
Я понимаю, что мне нужно использовать join()
в родительском потоке, чтобы дождаться окончания потока, но как я могу получить значение из дочернего потока в родительский поток?
Как эти строки получать данные из ThreadedMatcher? $ Returned_result = $ нити [$ ключ] -> результат; $ returns_id = $ threads [$ key] -> id; – James
Да. Установите их как общедоступные в классе. – cpugourou
Точнее. – cpugourou