Microsoft .NET 4.0, çerçevesine yeni "paralel geliştirmeler" sunar. Yeni paralel geliştirmelere karşı standart System.Threading işlevlerini kullanan bir uygulama yapma arasındaki farkın ne olduğunu merak ediyorum. http://channel9.msdn.com/posts/philpenn/Parallel-Programming-with-NET-Parallel-Extensions/Threading vs. Paralel İşleme
cevap
Muhtemelen Paralel Uzantılar ve düzenli iş parçacığı arasındaki en önemli fark kontrol akışıdır.
new Thread(...)
veya ThreadPool.QueueUserWorkItem
kullanılarak oluşturulan bir iş parçacığı, zaman içinde tamamen belirsiz bir noktada sona erecektir.
ThreadPool.QueueUserWorkItem(() =>
{
Thread.Sleep(1000);
Console.WriteLine("Work Finished");
});
Console.WriteLine("Item Queued");
metin Item Queued
hemen görünür ve Work Finished
yaklaşık 1 saniyelik gecikmenin ardından basılacaktır: Bu kod yazarsanız. Eğer paralel uzantıları kullanarak benzer bir şey yazarsanız Öte yandan
: şey, "Test" sonra bir takım gerçekleşmeden önce Bu durumda Görecekleriniz
Parallel.For(0, 10, i =>
{
Thread.Sleep(1000);
Console.WriteLine("Test {0}", i);
});
Console.WriteLine("Finished");
1 saniyelik bir gecikme olduğunu rastgele bir sırada iletiler ve , sonraFinished
metnini. Başka bir deyişle, paralel olarak çalışan görevler aslında program akışını değiştirmez. Programın genel verimliliğini artırmak için, farklı iş parçacıkları üzerinde farklı görevler yürütecek, böylece programın genel iş hacmini geliştirmek için, ancak bu programların gerçekten "arka planda" çalışmadığı "bir iş parçacığıyla olacağı gibi. Programınızın yapısını değiştirmek veya iş tamamlandığında bildirilmek üzere özel bir şey yapmak zorunda değilsiniz. Paralel tümcelerde'un içinde ne olduğuna dair herhangi bir kontrole sahip değilsiniz, ancak tüm paralel görevler tamamlanana kadar bloğun kontrole dönmeyeceğini biliyorsunuzdur. Paralel Uzantıları bu büyük olmasına rağmen
, gerçekte ihtiyaç böyle zamanlayıcı uygulamayı veya amacıyla bir iş parçacığı için delege olarak, arka planda bir görevi çalıştırmak için zaman hiçbir faydası vardır olursa olsun o PX söz ayılar UI duyarlı tutmak. Bunlar için iş parçacığı veya uyumsuzluk bileşenleri kullanmanız gerekir.
Burada bir süre önce bu konuda izlenen iyi Channel9 bu. Çoğu işlem için paralel işlem uzantısını kullanmak daha kolaydır.
Merhaba Adam, bu bağlantı benim için çalışmıyor, sayfa bulunamadı, bir görev için beklediğinizde diğer yararlı bağlantılar –
Paralel İşleme oto yaratan dişler için sadece bazı fantezi arayüzü:
Paralel çerçeve, Windows threading modeline dayanan .NET threading modelini kullanır. Bununla birlikte, paralel kütüphaneyi daha verimli hale getirmek için genel çerçevede pek çok optimizasyon yapılmıştır.
This blog ek ayrıntılara sahiptir.
- 1. Python'da Paralel İşleme
- 2. perl'de basit paralel işleme
- 3. .NET Threading Modeli ve Uygulaması.DoEvents vs. Thread.Sleep
- 4. gnu paralel bir başlıklı CSV dosyası işleme
- 5. Java Küme sistemlerinde Paralel İşleme (küme hesaplama)
- 6. Grand Central vs Paralel Uzantılar
- 7. Python Threading: Sonuçların
- 8. Çok Threading
- 9. Basit Threading
- 10. WPF/threading: Dispatcher vs Dispatcher bir kontrolde mi?
- 11. Python Threading Concept Soru
- 12. OpenCV Görüntü İşleme - C++ vs C vs Python
- 13. Python vs Java doğal dil işleme için
- 14. Dağıtılmış Hesaplama/Paralel İşleme ile Nereden Başlanır? (Python/C)
- 15. Threading sorunu, ios 7
- 16. PerformSelector Monotouch Threading
- 17. MVVM Işık Threading Örnek
- 18. C# Threading içeride döngü
- 19. Threading concept in C#
- 20. Threading ve Signals sorunu
- 21. Python - BaseHTTPServer.HTTPServer Concurrency & Threading
- 22. Threading ve lambda ifadeleri
- 23. Paralel
- 24. Paralel
- 25. Scala paralel görünümleri X.par.view vs X.view.par ile oluşturuluyor? Paralel koleksiyonları ve internet üzerinden aramaya Gazeteye göre
- 26. Threading: Kullanıcı arayüzü duyarlı tutmak için C + + Cinder app arka planda işleme yapıyor
- 27. Spark Streaming'de sipariş işleme
- 28. Python multi-threading ile tkinter
- 29. Haskell ve Python threading modeli
- 30. Paralel tahmin
da, iş parçacığının aksine tüm alt görevleri bekler. Hata iadesi, görevler ve daha sonra iş parçacıkları ile çok daha iyidir. –