Từ this bài đăng, tôi đã được thông báo rằng đoạn mã sau bị "hành vi nghiêm trọng đóng kết thúc biến vòng lặp".Đóng trên biến vòng lặp trong C#
foreach (Canidate canidate in allCanidates)
{
Thread newThread = new Thread(delegate()
{
BusyWait(canidate);
});
newThread.Start();
}
Tôi chuyển nó như thế này:
foreach (Canidate canidate in allCanidates)
{
var can = canidate;
Thread newThread = new Thread(delegate()
{
BusyWait(can);
});
newThread.Start();
}
Nhưng ông chủ của tôi vẫn tiếp tục khẳng định rằng nó sẽ bị ảnh hưởng từ những vấn đề tương tự. Tôi đã sử dụng liên kết this để cố gắng giải quyết vấn đề này. Ai đó có thể giúp tôi giải quyết chính xác vấn đề sao cho mã của tôi sẽ thực thi đúng. vấn đề này là hoàn toàn mới đối với tôi, và tôi không chắc tôi có hiểu rõ nó không.
Sếp của bạn sai. –
Và có mái tóc nhọn. –
Bất cứ ai có thể giải thích lý do tại sao? Tôi không chắc tôi hoàn toàn hiểu nó. Chính xác là sự khác biệt giữa hai, bởi vì với tôi, họ có vẻ như họ đang làm điều tương tự. Tuy nhiên, khi tôi chạy nó, tôi biết rằng họ không. – user489041