PThread по сравнению с повышением:: поток?

Наличие никакого опыта с поточной обработкой в прошлом, которая поточная обработка техники в C++ будет самой легкой для новичка? повышение:: поток или pthreads?

23
задан Newton Falls 8 March 2014 в 15:38
поделиться

5 ответов

Перейти к повышению :: нить. Это тесно связано на работу по предстоящему стандартным потокам C ++ , и интерфейс довольно прост в использовании и идиоматично для C ++ (Raii вместо ручного управления ресурсами).

35
ответ дан 29 November 2019 в 00:41
поделиться

Boost :: Поток - очень приятная и портативная абстракция. Я бы, конечно, использовал его, но также изучающую нативную поток API, например, Pthreads, так что вы знаете, как работает на вашу платформу.

9
ответ дан 29 November 2019 в 00:41
поделиться

Я пойду в противоположном направлении всех остальных - учись (или хотя бы ознакомиться с тем, что доступно в) Pthreads.

Так как Boost в основном просто обертка вокруг Pthreads (на платформах POSIX) это помогает знать, что происходит под ним. При попытке быть универсальным, повышение оставляет платформу конкретной функциональности развернуты. Чтобы добраться до него, вам нужно использовать вызовы Natral_handle (). Чтобы использовать вызовы Natral_handle (), вам нужно знать, что предлагает платформу.

Подумайте об этом, как розетки. Есть десятки классов и рамок сокетов. Но в конечном итоге они обертывают базовую платформу API сокетов платформы. Ваше понимание всегда богаче, зная об этом - и знание того, как ваши классовые абстракции могут иметь короткие комиссии.

39
ответ дан 29 November 2019 в 00:41
поделиться

У меня был аналогичный вопрос о Soundboot. . Хотя я не пытался создать сценарий Adobe Media Encoder, он не отображается в списке приложений, к которым я потенциально могу подключиться, и скрипт с помощью набора инструментов ExtendScript.

Я нашел эту статью , которая может пригодиться, если вы находитесь на Windows. Я думаю, что использование чего-то похожего, написанного в StartScript, могло бы сделать работу на OSX. Я не пробовал, но это сикули выглядит хорошо, может, это поможет с работой.

Приложение Adobe Media Encoder, по-видимому, не поддается сценариям. Мне было интересно, для пакетного преобразования, не могли бы вы использовать ffmpeg ? Похоже, существует несколько сценариев для этого , если вы гуглируете для ffmpeg batch flv .

HTH, Георгий

-121--3409506-

Я бы сказал, что они довольно близки к равным в трудности. Единственное большое отличие я вижу в том, что PThreads довольно широко поддерживаются (если вы обеспокоены кроссплатформенным портированием). Другой заключается в том, что было довольно много хороших книг на PThreads, хотя почти все концепции будут переведены на повышение:: поток, и многие другие библиотеки многопоточности.

-121--1588276-

Boost.Thread использует концепцию RII для блокировки, что делает вещи более исключительными и помогает избежать ошибок, таких как забывание выпустить мьютекс.

6
ответ дан 29 November 2019 в 00:41
поделиться

Я использую Perl. Я бы тоже предложил. Что касается языков сценариев баз данных, которые предлагают постгры: pl/perl гораздо более развита, чем pl/php , и pl/perlu приводит CPAN к постграм.

У вас все еще есть pl/sql (отлично подходит для небольших материалов) и pl/pgsql (имеет свои приложения тоже).

К сожалению, поддержка CSV на Postgres является своего рода жестоким, я собираюсь начать проект Perl очень скоро, хотя, чтобы исправить это (вероятно, в течение следующего месяца). В настоящее время вы почти должны использовать pgloader, который (imho) имеет cludgey синтаксис. Perl имеет Текст:: CSV _ XS , который является годовым для обработки CSV.

Perl исторически осуществлял доступ к базам данных и использовал их гораздо лучше, чем PHP. Я все еще считаю, что это хороший способ опередить PHP. PHP по-прежнему не имеет асинхронной рамки и, скорее, ограничен веб. Сильные точки PHP, как правило, гораздо больше сосредоточены вокруг нетехнических особенностей языка, а именно кривой обучения и общей переносимости хоста.

-121--3978049-

У меня был аналогичный вопрос о Soundbooth. . Хотя я не пытался создать сценарий Adobe Media Encoder, он не отображается в списке приложений, к которым я потенциально могу подключиться, и скрипт с помощью набора инструментов ExtendScript.

Я нашел эту статью , которая может пригодиться, если вы находитесь в Windows. Я думаю, что использование чего-то похожего, написанного в StartScript, могло бы сделать работу на OSX. Я не пробовал, но это сикули выглядит хорошо, может, это поможет с работой.

Adobe Media Encoder, похоже, не является скриптовым. Мне было интересно, для пакетного преобразования, не могли бы вы использовать ffmpeg ? Похоже, существует несколько сценариев для этого , если вы гуглируете для ffmpeg batch flv .

HTH, Георгий

-121--3409506-

Я бы сказал, что они довольно близки к равным в трудности. Единственное большое отличие я вижу в том, что PThreads довольно широко поддерживаются (если вы обеспокоены кроссплатформенным портированием). Другой заключается в том, что было довольно много хороших книг на PThreads, хотя почти все концепции будут переведены на повышение:: поток, и многие другие библиотеки многопоточности.

2
ответ дан 29 November 2019 в 00:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: