многопоточность QThread |
Здравствуйте, гость ( Вход | Регистрация )
многопоточность QThread |
eldar85 |
12.4.2010, 13:56
Сообщение
#1
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
пробую написать простенькую многопоточную программку, но она выдает сообщение об ошибке
ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 22fe34. Receiver '' (of type 'QProgressBar') was created in thread 5d70b8", file kernel\qcoreapplication.cpp, line 347 Invalid parameter passed to C runtime function. Invalid parameter passed to C runtime function. ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 22fe28. Receiver '' (of type 'QProgressBar') was created in thread 5d70b8", file kernel\qcoreapplication.cpp, line 347 Invalid parameter passed to C runtime function. Invalid parameter passed to C runtime function. вот пример кода
thread.h
ну и про файл
окно выскакивает с такой ошибкой: this applicatoin has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. правда в книге вот эта строка
выглядела так: но setProgress не существует, похоже она была чем то заменена)) Сообщение отредактировал eldar85 - 12.4.2010, 14:02 |
|
|
eldar85 |
12.4.2010, 14:39
Сообщение
#2
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
капец, разобрался почему не работает))))
у меня в файле про указано
а я компилил в дебаге))) |
|
|
eldar85 |
12.4.2010, 15:21
Сообщение
#3
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
хоть программа и работает, но все же примерно через раз вылетает, предлогая закрыть программу...
в чем может быть проблема?) |
|
|
fsMark |
12.4.2010, 15:55
Сообщение
#4
|
Студент Группа: Участник Сообщений: 97 Регистрация: 23.4.2008 Из: г. Киров Пользователь №: 155 Спасибо сказали: 10 раз(а) Репутация: 1 |
хоть программа и работает, но все же примерно через раз вылетает, предлогая закрыть программу... в чем может быть проблема?) Все операции с GUI надо выполнять в основном потоке, в твоем случае дополнительный поток например может слать сигнал прогресбару находящемуся в основном потоке. |
|
|
eldar85 |
12.4.2010, 17:10
Сообщение
#5
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
так в GUI не катит многопоточность??? а если второй поток будет выполняться выводя на экран уже в по окончанию работы ??? так нормально будет?
|
|
|
Litkevich Yuriy |
12.4.2010, 17:13
Сообщение
#6
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
так в GUI не катит многопоточность??? выводя на экран выод на экран - рисованиеподробности тут: Рисование в потоках Ну а графический интерфейс, он нарисован. |
|
|
eldar85 |
12.4.2010, 20:23
Сообщение
#7
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
спасибо) буду изучать и пробывать))
|
|
|
eldar85 |
16.4.2010, 21:39
Сообщение
#8
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
мне вот интересно, а сколько потоков допустимо за раз запускать, чтобы комп не начинал пыхтеть как ошпаренный?))
|
|
|
SABROG |
16.4.2010, 21:56
Сообщение
#9
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
мне вот интересно, а сколько потоков допустимо за раз запускать, чтобы комп не начинал пыхтеть как ошпаренный?)) По количеству ядер на проце. Выше этого числа уже прироста не будет никакого, только бесполезная трата оперативки и расходы на переключение между потоками. |
|
|
eldar85 |
18.4.2010, 2:10
Сообщение
#10
|
программист Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: 0 |
т.е. если у меня двух ядерник, то лучше всего не более двух потоков использовать, я правельно понял?)))
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 12:58 |