Threading плюс взаимодействие в программе - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть приложение WPF C #, в котором определенная функция занимает достаточно много времени для выполнения своей операции.

int result = MyFavFunctions.mainfunction(searchquery);

Я хочу выполнить вычисление для этой функции в отдельном потоке, а не блокировать поток пользовательского интерфейса. Кроме того, прежде чем я получу результат этой операции, я не хочу продолжать в этой функции, потому что int result - это то, что я использую в дальнейшем.

Можно ли это сделать с помощью потоков?

Кроме того, я также не уверен, потому что функции в этой основной функции на самом деле экспортируются из библиотеки DLL C ++. Итак, после этой основной функции, если я буду использовать другие экспортированные функции в dll (которые просто используются для получения значений), получится ли у них соответствующий результат?

1 Ответ

0 голосов
/ 24 февраля 2012

Да, многопоточность - это то, как этого можно достичь - взгляните на http://msdn.microsoft.com/en-us/magazine/cc163328.aspx для получения некоторой полезной информации, в частности, вам нужен BackgroundWorker (http://msdn.microsoft.com/en-us/magazine/cc163328.aspx#S4).

Что касается результатов из функций выборки - это очень сильно зависит от того, как реализована DLL-библиотека - если она предназначена для такого использования, то они должны работать нормально - собрать тривиальное тестовое приложение для проверки этого тривиально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...