Wielowątkowość w C++

Opublikowane: 30/11/2014

w kategorii Zasoby.

Zwykłe wątki

Zwykłe wątki są najbardziej uniwersalnym i jednocześnie najbardziej skomplikowanym sposobem na wykonywanie przetwarzania równoległego.

Od C++17 funkcja std::for_each będzie wspierać wykonanie równoległe z wersją akceptującą execution policy (parallel lub sequencial).

Asynchroniczne I/O

Struktury danych bez blokad (ang. lock-free)

Użyj aby zwiększyć szybkość przetwarzania rozwiązania wielowątkowego.

Artykuły

Rozwiązania

OpenMP

OpenMP jest standardem dla uproszczonego przetwarzania równoległego programu, wspierane przez wiele kompilatorów, w tym GCC, Visual Studio, Intel. Pozwala na wykonywanie istniejącego kodu równolegle poprzez dodanie kilku specjalnych dyrektyw.

Pamięć transakcyjna (Transactional memory)

Wprowadzenie

Rozwiązania

Thread Building Blocks

Rozwiązanie Open Source od Intel-a: Thread Building Blocks

Zasoby

Książki

  • "Structured Parallel Programming: Patterns for Efficient Computation" - Michael McCool / James Reinders / Arch Robison, 2012 - zawiera przykłady dla TBB i Cilk Plus
  • "Intel Threading Building Blocks" - James Reinders, 2007

Concurrency Runtime

Zasoby dla: Concurrency Runtime - Visual Studio: Asynchronous Agents Library, Parallel Patterns Library

  • przykład: concurrency::parallel_for_each example
  • książka: "Parallel Programming with Microsoft Visual C++: Design Patterns for Decomposition and Coordination on Multicore Architectures (Patterns & Practices)" - Colin Campbell / Ade Miller, 2011

Książki o wielowątkowości

Blogi o wielowątkowości

Zobacz również

Udostępnij

obserwuj