~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 4FDA171FC66EAE35CB0B6F15B8EEE9F7__1715669760 ✰
Заголовок документа оригинал.:
✰ Fiber (computer science) - Wikipedia ✰
Заголовок документа перевод.:
✰ Волокно (информатика) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Fiber_(computer_science) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/4f/f7/4fda171fc66eae35cb0b6f15b8eee9f7.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/4f/f7/4fda171fc66eae35cb0b6f15b8eee9f7__translat.html ✰
Дата и время сохранения документа:
✰ 22.06.2024 17:16:58 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 14 May 2024, at 09:56 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Волокно (информатика) — Википедия Jump to content

Волокно (информатика)

Из Википедии, бесплатной энциклопедии

В информатике волокно представляет собой особенно легкую нить исполнения .

Как и потоки, волокна совместно используют адресное пространство . Однако волокна используют кооперативную многозадачность, а потоки — вытесняющую многозадачность . Потоки часто зависят от планировщика потоков ядра, который вытесняет занятый поток и возобновляет другой поток; волокна уступают место другому волокну во время выполнения.

Потоки, волокна и сопрограммы [ править ]

Ключевое различие между волокнами и потоками ядра заключается в том, что волокна используют совместное переключение контекста вместо упреждающего квантования времени. По сути, волокна расширяют таксономию параллелизма:

  • на одном компьютере может выполняться несколько процессов
  • в одном процессе может выполняться несколько потоков
  • в одном потоке может работать несколько волокон [1]

Волокна (иногда называемые стековыми сопрограммами или кооперативно запланированными потоками пользовательского режима) и бесстековые сопрограммы (конечные автоматы, синтезируемые компилятором) представляют собой два различных средства программирования с огромными различиями в производительности и функциональности. [2]

Преимущества и недостатки [ править ]

Поскольку волокна работают совместно, безопасность потоков представляет собой меньшую проблему, чем при упреждающем планировании потоков, а конструкции синхронизации, включая спин-блокировки и атомарные операции , не нужны при написании многозадачного кода, поскольку они синхронизируются неявно. Однако многие библиотеки неявно предоставляют волокно как метод проведения неблокирующего ввода-вывода ; поэтому рекомендуется соблюдать некоторую осторожность и читать документацию. Недостатком является то, что волокна не могут использовать многопроцессорные машины без использования вытесняющих потоков; однако модель потоков M:N , в которой число вытесняющих потоков превышает количество ядер ЦП, может быть более эффективной, чем чистые волокна или чистая вытесняющая обработка потоков.

В некоторых серверных программах волокна используются для мягкой блокировки, позволяющей однопоточным родительским программам продолжать работу. В этой конструкции волокна используются в основном для доступа к вводу-выводу, который не требует обработки ЦП. Это позволяет основной программе продолжать то, что она делает. Волокна передают управление однопоточной основной программе, и после завершения операции ввода-вывода волокна продолжают работу с того места, где они остановились.

Поддержка операционной системы [ править ]

меньшая поддержка со стороны операционной системы Для волокон требуется , чем для потоков. Их можно реализовать в современных системах Unix с помощью библиотечных функций getcontext, setcontext и swapcontext в ucontext.h, как в GNU Portable Threads , или в ассемблере как boost.fiber .

В Microsoft Windows волокна создаются с помощью ConvertThreadToFiber и CreateFiberзвонки; волокно, которое в данный момент приостановлено, может быть возобновлено в любом потоке. Локальное хранилище по волокну, аналогичное локальному хранилищу потока , может использоваться для создания уникальных копий переменных. [3]

Symbian OS использовала концепцию, аналогичную оптоволокну, в своем Active Scheduler. Активный объект содержал одно волокно, которое должно было выполняться активным планировщиком после завершения одного из нескольких ожидающих асинхронных вызовов. Несколько активных объектов могли ожидать выполнения (в зависимости от приоритета), и каждый из них должен был ограничить свое время выполнения.

Примеры реализации оптоволокна [ править ]

Волокна могут быть реализованы без поддержки операционной системы, хотя некоторые операционные системы или библиотеки предоставляют им явную поддержку.

См. также [ править ]

Ссылки [ править ]

Внешние ссылки [ править ]

  • Портативные потоки GNU
  • «Портативная библиотека сопрограмм» . Бесплатный код .
  • Пул волокон Многоядерная платформа C++ на основе волокон для Microsoft Windows.
  • Государственные потоки
  • Протопотоки
  • ребра2
  • boost.fiber
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 4FDA171FC66EAE35CB0B6F15B8EEE9F7__1715669760
URL1:https://en.wikipedia.org/wiki/Fiber_(computer_science)
Заголовок, (Title) документа по адресу, URL1:
Fiber (computer science) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)