it-swarm-eu.dev

Jak byste cvičil souběžnost a vícevláknové zpracování?

Četl jsem o souběžnosti, víceprocesovém zpracování a jak „bezplatný oběd skončil“ . Ale ještě jsem neměl možnost použít MT ve své práci).

Hledám tedy návrhy, co bych mohl udělat, abych si trochu procvičil CPU CPU MT prostřednictvím cvičení nebo účasti na některých open-source projektech.

Dík.

Úpravy: Mám větší zájem o projekty s otevřeným zdrojovým kódem, které používají MT pro úlohy vázané na CPU), nebo prostě algoritmy, které je zajímavé implementovat pomocí MT, spíše než knihy nebo papíry, které popisují pouze nástroje, jako jsou vlákna, mutexy a zámky, nebo jak lze MT) použít k vytvoření responzivních GUI ...

33
Xavier Nodet

Kapitola 11 knihy Intel Threading Building Blocks autor James Reinders se věnuje příkladům algoritmů a projektů, které využívají Parallel Computing (nebo Parallel Programming): Finder podřetězců, Game of Life, Sieve of Eratosthenes, Matrix Multiply a další pokročilejší témata, jako je filtrování síťových paketů a hry.

8
Xavier Nodet

Článek Joseph Albahari o Threading in C # je jedním z nejlepších zdrojů, které jsem kdy viděl.

Obsah je uveden níže. Upozorňujeme, že některá témata, jako je Paralelní knihovna úloh, jsou specifické pro .NET, ale většina z nich je použitelná pro jiné jazyky, zejména pro Javu.

GETTING STARTED
Introduction and Concepts
Join and Sleep
How Threading Works
Threads vs Processes
Threading’s Uses and Misuses
Creating and Starting Threads
Passing Data to a Thread
Naming Threads
Foreground vs Background
Thread Priority
Exception Handling
Thread Pooling
Thread Pooling via TPL
Thread Pooling Without TPL
Optimizing the Thread Pool
BASIC SYNCHRONIZATION
+ Synchronization Essentials
+ Locking
+ Thread Safety
+ Event Wait Handles
+ Synchronization Contexts
USING THREADS
+ Event-Based Asynch Pattern
+ BackgroundWorker
+ Interrupt and Abort
+ Safe Cancellation
+ Lazy Initialization
+ Thread-Local Storage
+ Timers
ADVANCED THREADING
+ Nonblocking Synchronization
+ Signaling with Wait and Pulse
+ The Barrier Class
+ Reader/Writer Locks
+ Suspend and Resume
+ Aborting Threads
PARALLEL PROGRAMMING
+ Parallel Programming
+ Why PFX?
+ PLINQ
+ The Parallel Class
+ Task Parallelism
+ Working with AggregateException
+ Concurrent Collections
+ SpinLock and SpinWait

Můžete se také podívat na tutoriál Jon Skeet zde: http://www.yoda.arachsys.com/csharp/threads/

15
Robert Harvey

Java Concurrency in Practice je jedna z nejlepších knih o vícevláknovém zpracování a souběžnosti. Přestože jsou všechny příklady v knize založeny na Java, tato kniha poskytuje solidní vysvětlení světa MT). Hodně mi to pomohlo, když jsem vyvíjel MT Systém.

13
Sorantis

Našel jsem Souběžné programování ve Windows od Joe Duffyho za velmi užitečného. Je tu hodně hloubky. Nevytáhne to žádné údery, takže si opravdu uděláte dobrý pocit, kolik způsobů, jak se střílet do nohy. Pomohlo mi to být opatrný, což je nejlepší rada, kterou mohu dát každému, kdo začíná aplikací MT).

4
Scott Whitlock

Existuje rozdíl mezi souběžností a paralelismem. Souběh je akt dělat více než jednu věc najednou, jako je zápis do 2 souborů. Paralelismus je akt urychlení programů pomocí více jader.

Ačkoli neexistuje žádný oběd zdarma, pokud jde o souběžnost, v paralelismu se oběd určitě stává více volným, viz vývoj jako http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell

2
dan_waterworth

Tato stránka má obecně dobré příklady projektů. www.planet-source-code.com

Stačí si vybrat jazyk a vyhledat vícevláknové zpracování. měli byste vidět řadu projektů se zdrojovým kódem.

1
Pemdas