Есть ли какой-нибудь пакет параллелизма для языка Си? - PullRequest
1 голос
/ 25 января 2011

Я знаю, что Java и C # оба имеют библиотечный пакет для поддержки параллельного программирования.Кто-нибудь знает, есть ли библиотечный пакет для C?Спасибо

Ответы [ 3 ]

4 голосов
/ 25 января 2011

На самом низком уровне у вас есть pthreads , которые дают вам потоки, блокировки, условные переменные и т. Д. Это настолько просто, насколько вы можете получить.Если ваша программа использует каркас, она может предоставить свои собственные потоковые примитивы, поэтому вам не нужно напрямую использовать pthreads.

  1. Поддержка потоков Qt
  2. Глиб-потоки (используется GTK)
  3. Повышающие потоки (для C ++)

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

  1. Intel Threading Building Blocks
  2. OpenMP
  3. MPI
  4. QtConcurrent
4 голосов
/ 25 января 2011
  1. Qt QThread
  2. pthread
  3. MPI (для вычислений на нескольких компьютерах)
  4. (больше)
1 голос
/ 25 января 2011

Существует OpenMP, который поддерживается такими компиляторами, как icc, msvc и gcc (как минимум).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...