powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / асинхронный вызов своей функции
3 сообщений из 3, страница 1 из 1
асинхронный вызов своей функции
    #37959657
Andrey Filatow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
туплю, не могу понять

public static async void AsyncIntroParallel()
{ await KP(); }


private static async Task<bool> KP()
{ bool fl = false;

........
циклы и тп
........

return fl;}

ругается Warning 2: This async method lacks 'await' operators and will run synchronously. Consider using the 'await' operator to await non-blocking API calls, or 'await Task.Run(...)' to do CPU-bound work on a background thread.
и функция KP выполняется в синхронном режиме. В функции чистые расчеты и никаких асинхронных вызовов нет.

что я делаю не так?
...
Рейтинг: 0 / 0
асинхронный вызов своей функции
    #37960007
Andrey Filatow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
забыл упомянуть что в процедуре KP идет вызов синхронной тяжелой процедуры, может это как то не дает основной процедуре перейти в асинхронный режим?

private static async Task<bool> KP()
{
bool fl = false;

for (int x = 5; x < 1000; x++)
for (int y = 5; y < 1000; y++)
{
MyLondCalculation(Matrix, true);
}
return fl;

}

calling of procedure:

......
KP();
......
...
Рейтинг: 0 / 0
асинхронный вызов своей функции
    #37960279
Andrey Filatow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
разобрался с асинхронностью

public async void MyAsyncStep1()
{

bool result = await KrisitnaPlay();

if (result)
{
WhoTurn.Text = "ok";
}

else
{

}

}

private Task<bool> MyAsyncStart()


{
return Task.Run(() =>
{
bool flag = true;
MyAsyncStep1();


return flag;
});

}



вызов .... MyAsyncStart();

запускается все работает асинхронно

WhoTurn.Text = "ok"; но на этой ноге спотыкается с ошибкой

An exception of type 'System.Exception' occurred in TicTacToeProfessional.exe but was not handled in user code

Additional information: The application called an interface that was marshalled for a different thread. (Exception from HRESULT: 0x8001010E (RPC_E_WRONG_THREAD))
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / асинхронный вызов своей функции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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