.NET 4.x WPF заставить Task простаивать определенное время (аналоги thread.sleep) - Visual Basic .NET
Формулировка задачи:
Доброе время суток, есть некая необходимость заставить задачу ни чего не делать определенное время,
или выполнить функцию в отдельном потоке так что бы была возможность вызвать thread.sleep(n)
без ущерба главному потоку, в эту тему влез недавно, задача стоит:
Асинхронно вызывать функцию с ограничением по количеству вызовов в определенный промежуток времени.
Надеюсь более менее объяснил))))
Привожу свой пример
Простите код не оформлен, суть в том что при использовании Thread.sleep() все работает как должно работать,
за исключением подвисания основного потока, вопрос в следущем:
как выполнить Task в отдельном потоке что бы можно было его приостанавливать с Thread.sleep()
и сохранить работоспособность функции или как еще можно сделать паузу без подвисания UI потока?
спасибо
на mainwindows расположена одна кнопка - button1
Решение задачи: «.NET 4.x WPF заставить Task простаивать определенное время (аналоги thread.sleep)»
textual
Листинг программы
Class MainWindow Private Async Sub StartButton_Click(sender As Object, e As RoutedEventArgs) Dim contentLength As Integer = Await AccessTheWebAsync() ResultsTextBox.Text &= String.Format(vbCrLf & "Length of the downloaded string: {0}." & vbCrLf, contentLength) End Sub Async Function AccessTheWebAsync() As Task(Of Integer) Dim client As HttpClient = New HttpClient() Dim getStringTask As Task(Of String) = client.GetStringAsync("http://msdn.microsoft.com") DoIndependentWork() Dim urlContents As String = Await getStringTask Return urlContents.Length End Function Sub DoIndependentWork() ResultsTextBox.Text &= "Working . . . . . . ." & vbCrLf End Sub End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д