Sobes.tech
Назад к вопросам
Junior — Middle
55

Для каких целей используется системный вызов SELECT в операционной системе?

Ответ от нейросети

sobes.tech AI

Системный вызов SELECT используется для мониторинга нескольких файловых дескрипторов (например, сокетов) и определения, готовы ли они к операции ввода-вывода (чтению, записи или возникновению исключительных событий).

Основное назначение SELECT:

  • Позволяет эффективно работать с несколькими каналами ввода-вывода без блокировки.
  • Позволяет реализовать неблокирующий ввод-вывод, ожидая, когда хотя бы один из дескрипторов станет доступен.

Пример использования в Python:

import select
import socket

sock = socket.socket()
sock.bind(('localhost', 12345))
sock.listen()

readable, writable, exceptional = select.select([sock], [], [], 5)  # ждем до 5 секунд

if sock in readable:
    conn, addr = sock.accept()
    print('Новое соединение от', addr)