2010-12-13 67 views
6

Tôi đã nhận được một chút xuống để nắm bắt với thời gian chạy Concurrency gốc của Visual Studio mới (ConcRT). Nó chỉ là một sự giám sát, hoặc là có một lý do hợp lệ mà không có chuyển động chéo của dữ liệu có ngữ nghĩa chuyển động? Họ là tất cả các bản sao ngữ nghĩa. Bạn không thể di chuyển vào hàng đợi đồng thời, bạn không thể di chuyển bằng asend, v.v. Bạn thậm chí không thể di chuyển các hàng đợi đồng thời.Rvalue refs đồng thời

+0

Hehe, nó được * rõ ràng * được liệt kê trong trang khởi động này về CCR: http://msdn.microsoft.com/en-us/library/dd504870.aspx Có thể quá cũ để đã chọn C + + Cải thiện 0x. Mã như thế này hầm trong một thời gian. –

+1

@Hans: Đó là tài liệu tham khảo giá trị rvalue như là một chung chung "chúng tôi hỗ trợ điều này trong MSVC10", không có gì về nó trong CCR cụ thể. – Puppy

+0

Tôi chỉ nghĩ rằng thật buồn cười khi nó được liệt kê trong trang khởi động cho CCR. –

Trả lời

3

Tôi không biết khuôn khổ cụ thể này, nhưng nói chung cho hàng đợi chủ đề liên, bạn phải có ngữ nghĩa sao chép.

Hãy tưởng tượng tôi tạo một đối tượng, lấy một tham chiếu/con trỏ đến nó rồi di chuyển nó đến hàng đợi. Sau đó, các chủ đề khác di chuyển nó ra khỏi hàng đợi. Sau đó, cả hai luồng đều có thể truy cập cùng một lúc.

Tôi nghĩ rằng trong trường hợp chung, chỉ cần sao chép bao giờ thêm hoặc xóa, không phải cả hai (nghĩa là chỉ cần một bản sao). ví dụ. copy-in di chuyển ra, nhưng điều này sẽ có ngữ nghĩa giống như copy-in copy-out.

1

Có một số lĩnh vực hỗ trợ rvalue có thể tăng cường ConcRT, đại lý và PPL. Giống như bất kỳ dự án phần mềm lớn nào, khi bạn đang xây dựng các tính năng dựa trên các tính năng mới khác, luôn có một số rủi ro trong việc có thể phân phối mọi thứ cùng một lúc.

PPL là một bước tiến quan trọng nhưng chúng tôi chưa bao giờ nói rằng "đã hoàn thành". :-)

Nếu bạn có đề xuất cụ thể trong đó thư viện ConcRT, PPL hoặc thư viện Đại lý phải hỗ trợ ngữ nghĩa di chuyển, vui lòng mở gợi ý trong connect.microsoft.com.