Фред из оптимизации использования потокового процессора

У меня большой проект, который использует многопоточность и взаимодействует с imap. Проблема заключается в том, что когда я получаю большое количество почты, загрузка процессора увеличивается до 100%. Когда я добавил usleep (), использование процессора стало меньше использования процессора. Но загрузка почты занимает много времени!

while ((time() - $time) < $this->timeOut) {
$newLine = fread($this->stream, 2048*8);
if(!strlen($newLine)) continue;
$buf .= $newLine;
file_put_contents(__DIR__ . "/MAIL.txt", $newLine, FILE_APPEND);
if (strripos($buf, $successPattern) !== FALSE){
$this->responseContainer->setLastResponseText($buf);
return $buf;
}
if (strripos($buf, $this->commandHash . ($this->commandCounter - 1) . ' NO') !== FALSE
|| strripos($buf, $this->commandHash . ($this->commandCounter - 1) . ' BAD') !== FALSE){
$this->responseContainer->setLastErrorText($buf);
return false;
}
usleep(50000);
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector