it-swarm.asia

Eşzamanlılık ve çoklu iş parçacığı nasıl çalışırsınız?

Eşzamanlılık, çoklu iş parçacığı ve nasıl "ücretsiz öğle yemeği bitti" hakkında okuyordum. Ama henüz işimde MT) kullanma olanağım olmadı.

Bu yüzden CPU ağır bir uygulama almak için neler yapabileceğime dair öneriler arıyorum MT egzersizleri veya bazı açık kaynaklı projelere katılım yoluyla.

Teşekkürler.

Düzenleme: Ben daha = MT kullanan açık kaynak projeleri ile ilgileniyorum, ya da sadece MT kullanarak uygulamak için ilginç olan algoritmalar, sadece açıklayan kitap veya kağıt yerine iş parçacıkları, muteksler ve kilitler gibi araçlar veya nasıl MT duyarlı GUI'lere sahip olmak için kullanılabilir ...

33
Xavier Nodet

Kitabın Bölüm 11 Intel Diş Açma Yapı Taşları James Reinders tarafından Paralel Hesaplama (veya Paralel Programlama) kullanan algoritma ve proje örneklerine ayrılmıştır: bir alt dize Bulucu, Hayat Oyunu, Eratosthenes Eleği, Matrix Multiply ve daha sonra ağ paketi filtreleme ve oyunlar gibi diğer daha gelişmiş konular.

8
Xavier Nodet

Joseph Albahari'nin C # 'da iş parçacığı ile ilgili makalesi gördüğüm en iyi kaynaklardan biri.

İçindekiler aşağıdadır. Görev Paralel Kütüphanesi gibi bazı konuların .NET'e özgü olduğunu, ancak çoğunun diğer diller, özellikle Java için geçerli olduğunu unutmayın.

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

Jon Skeet'in eğitimine buradan da bakabilirsiniz: http://www.yoda.arachsys.com/csharp/threads/

15
Robert Harvey

ygulamada Java Eşzamanlılığı çoklu iş parçacığı ve eşzamanlılık hakkında en iyi kitaplardan biridir. Kitaptaki tüm örnekler Java tabanlı olsa da, bu kitap MT dünya.) Bir MT geliştirirken bana çok yardımcı oldu sistemi.

13
Sorantis

Windows'ta Eşzamanlı Programlama Joe Duffy'nin çok yardımcı olduğunu gördüm. Çok fazla derinlik var. Herhangi bir yumruk çekmez, bu yüzden kendinizi ayağınızla vurmanın kaç yolu olduğunu gerçekten iyi hissedersiniz. Dikkatli olmamı sağladı, MT apps ile başlayan herkese verebileceğim en iyi tavsiye).

4
Scott Whitlock

Eşzamanlılık ve paralellik arasında bir fark vardır. Eşzamanlılık, 2 dosyaya yazmak gibi bir kerede birden fazla şey yapma eylemidir. Paralellik, çoklu çekirdekler kullanarak programları hızlandırma eylemidir.

Eşzamanlılık söz konusu olduğunda ücretsiz öğle yemeği olmamasına rağmen, paralellikte öğle yemeği kesinlikle daha özgür hale geliyor, --- gibi gelişmelere bakın http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell

2
dan_waterworth

Bu site genel olarak iyi proje örneklerine sahiptir. www.planet-source-code.com

Bir dil seçin ve çoklu iş parçacığı arayın. kaynak kodu bulunan bir dizi proje görmelisiniz.

1
Pemdas