it-swarm-vi.com

Làm thế nào bạn sẽ thực hành đồng thời và đa luồng?

Tôi đã đọc về đồng thời, đa luồng và cách "bữa trưa miễn phí kết thúc" . Nhưng tôi chưa có khả năng sử dụng MT trong công việc của mình.

Do đó, tôi đang tìm kiếm các đề xuất về những gì tôi có thể làm để có được một số thực hành về CPU nặng MT thông qua các bài tập hoặc tham gia vào một số dự án nguồn mở.

Cảm ơn.

Chỉnh sửa: Tôi quan tâm nhiều hơn đến các dự án nguồn mở sử dụng MT cho các tác vụ gắn với CPU hoặc đơn giản là các thuật toán thú vị để thực hiện bằng MT, thay vì sách hoặc giấy tờ chỉ mô tả các công cụ như luồng, mutexes và khóa hoặc cách MT có thể được sử dụng để có GUI phản hồi ...

33
Xavier Nodet

Chương 11 của cuốn sách Khối xây dựng luồng của Intel của James Reinder dành cho các ví dụ về thuật toán và dự án sử dụng Tính toán song song (hoặc Lập trình song song): Trình tìm chuỗi con, Trò chơi cuộc sống, Sàng lọc Eratosthenes, Nhân ma trận, và sau đó là các chủ đề nâng cao khác như lọc gói mạng và trò chơi.

8
Xavier Nodet

Bài viết của Joseph Albahari về Luồng trong C # là một trong những tài nguyên tốt nhất tôi từng thấy.

Mục lục bên dưới. Lưu ý rằng một số chủ đề, như Thư viện song song tác vụ, dành riêng cho .NET, nhưng phần lớn trong số đó có thể áp dụng cho các ngôn ngữ khác, đặc biệt là Java.

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

Bạn cũng có thể xem hướng dẫn của Jon Skeet tại đây: http://www.yoda.arachsys.com/csharp/threads/

15
Robert Harvey

Java đồng thời trong thực tiễn là một trong những cuốn sách hay nhất về đa luồng và đồng thời. Mặc dù tất cả các ví dụ trong cuốn sách là Java, cuốn sách này đưa ra lời giải thích chắc chắn về thế giới MT. Nó đã giúp tôi rất nhiều khi tôi đang phát triển MT hệ thống.

13
Sorantis

Tôi thấy Lập trình đồng thời trên Windows bởi Joe Duffy rất hữu ích. Có rất nhiều chiều sâu. Nó không kéo bất kỳ cú đấm nào, vì vậy bạn thực sự cảm thấy tốt về việc có bao nhiêu cách để tự bắn vào chân mình. Nó giúp tôi thận trọng, đó là lời khuyên tốt nhất tôi có thể đưa ra cho bất cứ ai bắt đầu với MT ứng dụng.

4
Scott Whitlock

Có sự khác biệt giữa đồng thời và song song. Đồng thời là hành động thực hiện nhiều việc cùng một lúc, như viết vào 2 tệp. Song song là hành động tăng tốc các chương trình bằng cách sử dụng nhiều lõi.

Mặc dù không có bữa ăn trưa miễn phí khi nói đến sự tương tranh, nhưng song song, bữa trưa chắc chắn sẽ trở nên miễn phí hơn, hãy xem những sự phát triển như http://www.haskell.org/haskellwiki/GHC/Data_Parallel_Haskell

2
dan_waterworth

Trang web này có một số ví dụ dự án tốt nói chung. www.planet-source-code.com

Chỉ cần chọn một ngôn ngữ và tìm kiếm đa luồng. bạn sẽ thấy một số dự án với mã nguồn có sẵn.

1
Pemdas