powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Await/Async - не работает
1 сообщений из 1, страница 1 из 1
Await/Async - не работает
    #38535515
ValeOFY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Изучаю Async/Await.
Есть программка: постоянно крутящийся статус-бар и две кнопки.
При нажатии на первую - все как должно быть, асинхронно, UI не подвисает.
При нажатии на вторую - UI подвисает до окончания цикла.
Не могу понять, почему второй вариант не работает - это же, вроде как, тоже самое.
Буду рад помощи.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Public Class Form1
    'Async - Create Task from Sync Method
    Private Async Sub btn_async_from_sync_Click(sender As Object, e As EventArgs) Handles btn_async_from_sync.Click
        Dim tsk As New Task(Of Integer)(AddressOf func_for_task)
        tsk.Start()
        Dim val As Integer = Await tsk
        MsgBox(val)
    End Sub
    Private Function func_for_task() As Integer
        Dim val As Integer
        For i = 1 To 999999999
            val += 1
        Next
        Return val
    End Function

    'Async - Use existing Task - Async Method
    Private Async Sub btn_async_use_task_Click(sender As Object, e As EventArgs) Handles btn_async_use_task.Click
        Dim val As Integer = Await func_for_task_async()
        MsgBox(val)
    End Sub
    Private Async Function func_for_task_async() As Task(Of Integer)
        Dim val As Integer
        For i = 1 To 999999999
            val += 1
        Next
        Return val
    End Function
End Class
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Await/Async - не работает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]