/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/ruby/ruby-511-17-007/main.rb
15 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
Разбор: - Фрагмент показывает конкретный сценарий, который стартует со строки `После этого *определённые системные вызовы*, выполняемые внутри `Fiber`, перехватываются и` и задаёт контекст выполнения. - Ключевые элементы блока: `join`, `Fiber`, `wait`, они определяют основную логику примера. - По шагам код выполняется так: `После этого *определённые системные вызовы*, выполняемые внутри `Fib` -> `- `Kernel#sleep`` -> `- `IO#wait_readable`, `IO#wait_writable`, `IO#wait`` -> `- `IO#read`, `IO#write`, `IO#readpartial`, `IO#sysread`, `IO#syswrit`. - Для корректности важно поведение конкурентности: где блокировка, где ожидание, и как исключаются гонки между задачами. - Типичная ошибка при развитии такого кода — смешивать бизнес-правила и инфраструктурные детали в одном месте; лучше разделять ответственность. Fiber.set_scheduler(Async::Scheduler.new) Fiber.schedule do io = TCPSocket.new("example.com", 80) io.write "GET / HTTP/1.1\r\nHost: example.com\r\n\r\n" response = io.read puts response end