строку str.
string myStr = i.ToString(); //проблемы с замыканием точно нет
new Task(() => Gett(myStr)).Start();
в void Gett(string str):
Console.WriteLine("1: " + str); //выводится всегда 1 раз в консоль
HttpResponseMessage hrm = GParams.SharedObjects.httpClient.SendAsync(request).Result; //пока не получено, дальше выполнять код не нужно
Console.WriteLine("2: " + str);//выводится 1-2 раза в консоль (как повезет), и дальше поток как буд-то раздваивается, вызывает по 1-2 раза методы и т.д.
вот конкретно после HttpResponseMessage начинается дичь непонятная
что не так может быть?
Покажи код
В дебаггере если что есть окно с потоками, там можно конкретный поток запаузить или отпустить, посмотреть его идентификатор итд
Кстати чтобы не было проблем с замыканием i в твоём случае достаточно просто использовать Parallel.For, а нет вот эту дичь "string myStr..."
GetAwaiter().GetResult()?
Ну, чел, видимо, плохо статью по ссылке про замыкания прочёл.)
Обсуждают сегодня