Проблема с правильным завершением дополнительного потока |
Здравствуйте, гость ( Вход | Регистрация )
Проблема с правильным завершением дополнительного потока |
AD |
12.9.2008, 10:06
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Я не понимаю, почему у меня нет корректного завершения потока. Заходит в поток только при первом вызове, а соответственно рисует график только при первом выборе параметров, далее необходимо закрывать это диалоговое окошко и открывать снова- что крайне неудобно. Просьба, пожалуйста, поясните, в чем ошибки?
Ниже приведен код: thread
Заранее благодарен за помощь! |
|
|
Tonal |
12.9.2008, 11:29
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
Переходи на 4.4?
А набросок примерно такой:
Ну и в конце приложения нужно w_terminated.wakeAll() сделать. Только смысла в этом всём нет, т.к. у тебя получается, что главный поток просто замерзает и ждёт окончания рабочего. Чтобы не замерзал, нужно fillCurve разбить ровно на 2 половины: 1 - начать пересчёт, 2 - проверить не посчиталось ли (tryLockForRead), и если посчиталось - обновится. Ну и данные и потока и главного окна должны быть разные в этом случае. Сообщение отредактировал Tonal - 12.9.2008, 11:29 |
|
|
Текстовая версия | Сейчас: 27.4.2024, 14:32 |