Хорошие руководства по многопоточности? [закрытый]

Используйте консоль, как в играх;

Не абсолютно "защитный", но я получил это от наблюдения его в большом количестве игр.

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

  1. Определяют простые команды, которые будут вызваны от консоли (как переключение на режим отладки, устанавливая некоторые динамические переменные, проверьте внутренние параметры конфигурации и так далее).
  2. Получают доступ к журналу каждый раз, я хочу от приложения, в то время как приложение работает.
  3. Сохраняют журнал в файл в случае необходимости
  4. Журнал каждое необработанное исключение к консоли прежде, чем повысить его до пользователя (если appropiate). Тем путем каждое исключение поймано как некоторый уровень. При объединении этого умно с отладочной информацией или файлом карты, можно получить превосходные результаты.

В C#, если Вы отмечаете Консольные методы с Условным Атрибутом затем, они будут автоматически разделены от версии выпуска. На других языках то же может быть достигнуто через директивы препроцессору.

я нашел, что это специально ценно во время фазы тестирования, поскольку это позволяет разработчику видеть то, что происходит и тестер, чтобы предоставить лучшую обратную связь разработчику.

, Кроме того:

  • Никогда не ловят исключение только для входа.
  • Никогда не ловят общие исключения (исключение E)
  • Никогда не скрывают исключения
  • предупреждения компилятора Обработки, как будто они были ошибками, только принимают предупреждение с очень тщательным исследованием.
  • Всегда проверяют каждый вход, приходящий не из библиотеки.
  • Проверка вход, прибывающий из библиотеки в "отладку", не регистрируйтесь в выпуске.
  • Никогда не повышают универсальное исключение. Если исключение существует, которые описывают проблему, используют его, если не делают, создайте свое собственное.
6
задан StackedCrooked 4 September 2009 в 22:21
поделиться

6 ответов

Статья доктора Доббса « Библиотека Boost.Threads » представляет собой краткое введение в тему с использованием одной из библиотек Boost C ++ .

6
ответ дан 8 December 2019 в 13:47
поделиться

Это не учебник, а хороший набор статей Эффективный параллелизм Херба Саттера.

4
ответ дан 8 December 2019 в 13:47
поделиться

Взгляните на Параллельное программирование в Windows , автор Джо Даффи . Книга относительно новая (ноябрь 2008 г.) и охватывает теорию и практику, начиная от Win32 API и заканчивая .NET Framework 3.5.

Concurrent Programming on Windows
(источник: barnesandnoble.com )

4
ответ дан 8 December 2019 в 13:47
поделиться

Если вы хотите распараллелить вычисления для многоядерных процессоров, ознакомьтесь с OpenMP . Он имеет поддержку gcc и intel (я не уверен насчет Visual C ++) и намного проще, чем использование примитивов.

1
ответ дан 8 December 2019 в 13:47
поделиться

Ознакомьтесь с полезными видеолекциями от Intel: http://software.intel.com/en-us/videos/three-things-you-must-teach-module-1-recognizing-potential- parallelism /

В этом руководстве рассматриваются:

  • Важность параллелизма
  • Модель общей памяти и потоки
  • Основы OpenMP

Видеоурок очень короткий: около 60 минут, поэтому я надеюсь, что вы найдете его полезным .

1
ответ дан 8 December 2019 в 13:47
поделиться

Если вы собираетесь использовать boost :: thread, я обязательно загляну на сайт Энтони Уильямса ,

1
ответ дан 8 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

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