2008-11-10 47 views
22

Có hướng dẫn hay về cách làm việc với các luồng (lập trình) trong Visual Studio 2005 không? Không phải MFC có liên quan, chỉ có nguồn gốc C++ (không có .NET).Hướng dẫn đa luồng C++

Trả lời

6

Win32 Multithreaded Programming

Đồng thời thử một số podcast miễn phí trên hệ điều hành. Bạn có thể tìm thấy các cuộc thảo luận lý thuyết về khóa, đa luồng, v.v. (the one I know of is from Berkeley và dựa trên Java, nhưng nó vẫn có liên quan).

+0

Sách đó dường như không còn in. – Jonke

+0

oops. Tôi có nó và thích nó. Xin lỗi về liên kết "xấu" – Tim

+0

Dường như người ta vẫn có thể mua nó thông qua amazon. – Tim

21

Thay vì sử dụng chủ đề Win32 trực tiếp, tôi muốn xem xét sử dụng một trình bao bọc chủ đề chẳng hạn như Boost threads. Đây là nền tảng chéo để chuyển ứng dụng của bạn sau này sẽ dễ dàng hơn.

+0

Ý tưởng tốt! Bạn có biết một hướng dẫn tốt về họ? –

+1

yup. http://www.ddj.com/cpp/184401518 – gbjbaanb

+0

Cảm ơn bạn đã trả lời câu hỏi đó cho tôi gbjbaanb! –

7

Bạn có thể xem following OpenMP tutorials. Điều này không liên quan đến tất cả các khái niệm về đa luồng trong VC++, nhưng chỉ có OpenMP, mà VC++ hỗ trợ. OpenMP dễ sử dụng trong một số trường hợp đa luồng đơn giản, ví dụ các phép lặp độc lập trong vòng lặp, các khối mã độc lập có thể được thực hiện đồng thời. Mặc dù OpenMP không linh hoạt so với các cách tiếp cận khác nhưng nó rất dễ sử dụng.

Để bật OpenMP, bạn cần bật tính năng này trong thuộc tính dự án, "Hỗ trợ C/C++/Language/OpenMP".

+0

Một lợi thế lớn của các hệ thống như OpenMp là nó dễ dàng hơn nhiều để tạo ra một số lượng lớn các chủ đề để làm công việc của bạn, làm cho quy mô ứng dụng của bạn đến đa lõi của tương lai. –