Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
$data = (yield $socket->read(8192));Reading stops as soon as one of the following conditions is met:
— length bytes have been read
— EOF (end of file) is reached
— a packet becomes available or the socket timeout occurs (for network streams)
— if the stream is read buffered and it does not represent a plain file, at most one read of up to a number of bytes equal to the chunk size (usually 8192) is made; depending on the previously buffered data, the size of the returned data may be larger than the chunk size.
fread()
Каких джоин поинтов? где отдельный синтаксис? Джоин поинты относятся к АОП, причем тут генераторы?А чем yeild не отдельный синтаксис, так же как echo к примеру? Уж не знал я как назвать точки приёма и отправки сообщений.
Для чего? Я бы не хотел, чтобы эти операторы использовались для чего-то другого, кроме сдвига.Да, для того же для чего был реализован yeild. Целостность. А так с одной стороны получается один подход, а с другой — другой.
<?php
$w1 = new EvIdle(function ($w) {
(--$w->data[0] <= 0) and $w->stop();
echo "Task 1, i = ", $w->data[0], PHP_EOL;
}, array (10));
$w2 = new EvIdle(function ($w) {
(--$w->data[0] <= 0) and $w->stop();
echo "Task 2, i = ", $w->data[0], PHP_EOL;
}, array (5));
Ev::run();
?>
Coroutines в PHP и работа с неблокирующими функциями