.NET 4.x Как запустить async метод в отдельном потоке? - C#
Формулировка задачи:
как мне запустить этот метод во вторичном потоке
public async Task<List<string>> ApiReq(string url, int nm) { string m = Thread.CurrentThread.ManagedThreadId.ToString(); try { HttpClient client = new HttpClient(); HttpResponseMessage response = await client.GetAsync(url); if (response.StatusCode == HttpStatusCode.OK) { HttpContent responseContent = response.Content; var json = await responseContent.ReadAsStringAsync(); JObject o = JObject.Parse(json); var str = o.SelectToken(@"$.response"); switch (nm) { case 1: countries = JsonConvert.DeserializeObject<Country[]>(str.ToString()); List<string> Loc = new List<string>(); foreach (var i in countries) { Loc.Add(i.Title); } return Loc; break; default: return null; } } } catch (Exception ex) { } return null; }
Решение задачи: «.NET 4.x Как запустить async метод в отдельном потоке?»
textual
Листинг программы
readonly SemaphoreSlim m = new SemaphoreSlim(1, 1); public async Task<List<string>> ApiReq(string url, int nm) { await m.WaitAsync(); try { // Код } finally { m.Release(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д