| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > .NET для новичков > Мелкие непонятки с потоками и (?) делегатами |
| Автор: Urvin 27.6.2010, 12:35 | ||||
| Я в сишарпе только начинаю, хотя с другими языками прекрасно имел дело. Столкнулся с необходимостью использования потока в одном из моих модулей. Здесь поток является неким дополнительным объектом, в отличие от прочих ЯП, где для действий в отдельном потоке используется наследование. Видимо, этот стереотип и не дает мне никак разобраться. Задача такова: есть класс примерно такого содержания:
lThread.Join() лишний, но пока не понимаю как избавиться от него. Извне я могу вызвать только MyClass.Calculate(), от которой мне хотелось бы выполнения в отдельном потоке, а также высылку событий об окончании расчета переменной А, переменной Б и завершении потока. Т.е. форма вызова должна быть примерно такой:
Подскажите, пожалуйста, как мне правильно запустить вычисления в отдельном потоке и правильно описать событийную модель? |
| Автор: Partizan 28.6.2010, 13:57 |
| Urvin, я думаю стоит посмотреть BackgroundWorker. |
| Автор: MrDale 29.6.2010, 12:59 | ||
Можно так:
Только учтите что OnXXX будут вызвать в том-же дополнительном потоке. |