Kịch bản: Một nhiệm vụ không đồng bộ trong một vòng lặp thực hiện một phương pháp có chứa đối số thay đổi khi chương trình tiếp tục:Chuyển đối số bằng cách thay đổi giá trị thành Tác vụ - Hành vi?
while(this._variable < 100)
{
this._variable++;
var aTask = Task.Factory.StartNew(() =>
{
aList.add(this._variable);
update(this._savePoint);
});
}
Nếu vòng lặp chạy nhanh hơn so với nhiệm vụ hoàn tất, danh sách sẽ thêm giá trị hiện tại của biến hoặc biến được lưu cục bộ và giá trị ban đầu được thêm vào là gì?
Kiểm tra điều này bởi Jon Skeet: http://csharpindepth.com/Articles/Chapter5/Closures.aspx –
+1 câu hỏi tuyệt vời! – nawfal