![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
Как мне понять когда поток закончит выполняться, дабы вызвать после его завершения какой нить MessageBox? |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: нет Всего: 50 |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 7 Всего: 306 |
||||
|
||||
| Alca |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: нет Всего: 50 |
вот еще http://msdn.microsoft.com/ru-ru/library/sy...hreadstate.aspx
Добавлено через 1 минуту и 9 секунд
Добавлено через 2 минуты и 3 секунды
если Join() , то да |
||||
|
|||||
| 6atoh |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 15.9.2006 Где: Minsk Репутация: 2 Всего: 4 |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 7 Всего: 306 |
встречно - а что хорошего? я за асинхронность. ее конечно тяжелее организовать, чем просто заблокировать основной поток. по существу - я бы рекомендовал BackgroundWorker. |
|||
|
||||
| N1ko |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 383 Регистрация: 30.12.2007 Где: Киев Репутация: нет Всего: нет |
А можно ли сосздать код, который бы заменял работу BackgroundWorker? У меня уже просто их напихано штуки 3(каждый для разных операций) Говоря про асинхронность Вы имете ввиду применение асинхоронных делегатов? |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 7 Всего: 306 |
||||
|
||||
| 6atoh |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 160 Регистрация: 15.9.2006 Где: Minsk Репутация: 2 Всего: 4 |
Я тоже за асинхронность
Если вы имеете ввиду компонент, который бы инкапсулировал создание из запуск множества BackgroundWorker-ов, а также предоставлял возможности для модульного тестирования, могу привести вам исходники такого компонента, который я писал для собственных нужд. |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 6 Всего: 211 |
Использовать Task и его возможности аля ContinueWith. Добавлено через 1 минуту и 48 секунд говоря словами дядюшки Рихтера: поток - слишком дорогое удовольствие, чтобы выделять его под конкретную задачу. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 7 Всего: 306 |
||||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 6 Всего: 211 |
||||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 7 Всего: 306 |
блин, на работе чувствую себя отрезанным от цивилизации. |
|||
|
||||
| azesmcar |
|
||||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 6 Всего: 211 |
Класс Thread использовать не рекомендуется, используй ThreadPool, или как я уже писал Task-и, они работают через ThreadPool.
хорошего в блокировании потоков мало, этого надо по возможности избегать, поток нужен для паралеллизации, а если он просто спит и ничего не делает - то может он вообще не нужен? Усыплять поток можно тогда, когда программе вообще нечего делать, у многих 3 потока трудятся в поте лица, в то время как четвертый спит беспробудным сном, и почему бы тогда четвертому потоку не заняться делом вместо одного из тех трех? Это сообщение отредактировал(а) azesmcar - 1.9.2010, 16:28 |
||||
|
|||||
| Enter |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 37 Регистрация: 13.2.2007 Репутация: 1 Всего: 2 |
||||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |