Легкие, портативные волокна С++, лицензия MIT

Я хотел бы получить легкий, портативный волоконный lib с лицензией MIT (или более слабый). Boost.Coroutine не квалифицируется (нелегко), не имеет портативной библиотеки Coroutine и Kent С++ CSP (оба GPL).

Изменить: не могли бы вы помочь мне найти его?:)

Ответ 1

  • Libtask: Лицензия MIT
  • Libconcurrency: LGPL (немного более жесткий, чем MIT, но это функциональная библиотека!)

Оба записываются для C.

Ответ 2

Я на самом деле в блоге об этом в прошлом. Взгляни! Надеюсь, это ответит на ваши вопросы. В нем я рассказываю о нескольких библиотеках, и меня особенно интересовали те, которые были полезны для системного программирования (асинхронный IO).

Заметно отсутствующий из этого покрытия Boost.Coroutine, о котором я расскажу здесь. Boost.Coroutine можно рассматривать как "тяжеловесный" концептуально (с точки зрения его семейства типов), но реализация довольно эффективна. Реальная проблема заключается в том, что Boost.Coroutine является неполным, и (последний раз я проверил) далеко не полный. Я потратил некоторое время на то, чтобы попытаться работать с автором по его не стартерным проблемам, так как я действительно с нетерпением ждал его использования в сочетании с Boost.Asio(это была одна из основных целей Boost.Coroutine), но автор не имел время, чтобы занять его работу на официальном этапе обзора Boost.

Ответ 4

Теперь у вас есть две лучшие опции с лицензией Boost: