The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Вышла первая версия библиотеки прототредов

18.01.2009 21:08

Вышла первая версия библиотеки protothreads, реализующая идею экстремально легких нитей, не зависящих от операционной системы и сочетающих технику многопоточного программирования с событийной моделью конечного автомата (FSM, Finite State Machine). Прототреды из нитей заимствовали простоту и ясность формирования кода, а из FSM - высокую эффективность с точки зрения потребления памяти и скорости работы.

За счет использования единого стека каждая нить, при сохранении возможности установки блокировок, съедает всего два байта памяти. Библиотека работает на уровне приложения и включает в себя встроенный планировщик. Ядро библиотеки занимает всего 400 строк кода на Си. Построение приложения значительно отличается от использования POSIX нитей, но не настолько усложнено, как в случае применения архитектуры FSM.

  1. Главная ссылка к новости (http://sourceforge.net/project...)
  2. PDF презентация прототредов
Лицензия: CC-BY
Источник: osnews.com
Тип: К сведению
Короткая ссылка: https://opennet.ru/19834-multithread
Ключевые слова: multithread, lib, gcc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:40, 18/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    это же Erlang идея, только там все ещё распределенно.
     
     
  • 2.12, JLarky (?), 13:03, 19/01/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >это же Erlang идея, только там все ещё распределенно.

    угу ) первая мысль )) в эрланге ещё мессидж пассинг =)

     

  • 1.2, Аноним (-), 21:41, 18/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что это даст?
     
  • 1.3, Аноним (1), 21:49, 18/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    2 байта, 400 строк кода - не густо ... попахивает фейком :)
     
  • 1.5, AsphyX (??), 21:58, 18/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    FSM для тех, кто не умеет их готовить :)
     
  • 1.6, Аноним (1), 22:03, 18/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >За счет использования единого стека каждая нить

    либо для 64-х бит, либо с ограничениями по вызовам (с современными то требованиями!), и видимо никаких обработчиков исключений.
    ....
    надо посмотреть. :-)

     
     
  • 2.8, Myc (??), 22:38, 18/01/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>За счет использования единого стека каждая нить
    >
    >либо для 64-х бит, либо с ограничениями по вызовам (с современными то
    >требованиями!), и видимо никаких обработчиков исключений.
    >....
    >надо посмотреть. :-)

    Ссыклу почитай для начала.

     
     
  • 3.9, Аноним (1), 23:39, 18/01/2009 [^] [^^] [^^^] [ответить]  
  • +/
    И что? Это увеличит размер стека?
    Или позволит не завалить все потоки и функции при разворачивании стека в при exception?
     
     
  • 4.10, Аноним (1), 23:52, 18/01/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Сори. Это не тот стек. :-)

     

  • 1.11, frewq (?), 09:40, 19/01/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    http://state-threads.sourceforge.net гораздо приятнее.
     
     
  • 2.13, Аноним (-), 16:27, 19/01/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется что это немного разные вещи...
     
     
  • 3.14, geekkoo (ok), 09:30, 20/01/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Мне кажется что это немного разные вещи...

    А по-моему - то же самое, то же представление FSM в виде тредов. Правда, в последнем случае обходятся без рекламных слоганов про 'по два байта на нить'

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2022 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру