Russian Qt Forum
Ноябрь 22, 2024, 22:13
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Многопоточное программирование, процессы
>
Нужно ли использовать нитки?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Нужно ли использовать нитки? (Прочитано 7141 раз)
phpCoder
Гость
Нужно ли использовать нитки?
«
:
Май 13, 2015, 12:15 »
Добрый день.
Есть класс, который загружает файлы на FTP. Задача эта очень долгая по времени. И порой нужно взять и остановить работу (совсем завершить или нажать на паузу). Вопрос: нужно ли тут использовать нитки? И если нужно, то как?
До сего момента с потоками не работал.
Если не сложно, можно пример того, как запускать, ставить паузу и останавливать, чтобы потом от этого отталкиваться.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Нужно ли использовать нитки?
«
Ответ #1 :
Май 13, 2015, 12:20 »
Если будешь качать ассинхронно, то не надо никаких потоков.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
phpCoder
Гость
Re: Нужно ли использовать нитки?
«
Ответ #2 :
Май 13, 2015, 12:38 »
Кроме FTP есть похожие длительные задачи. И тут интересует именно - запуск, пауза, завершение.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Нужно ли использовать нитки?
«
Ответ #3 :
Май 13, 2015, 12:50 »
Цитата: phpCoder от Май 13, 2015, 12:15
Вопрос: нужно ли тут использовать нитки?
Нитки нужны для параллельного выполнения.
Для этого:
Цитата: phpCoder от Май 13, 2015, 12:15
Есть класс, который загружает файлы на FTP. Задача эта очень долгая по времени. И порой нужно взять и остановить работу (совсем завершить или нажать на паузу).
они не обязательны. Но при желании их туда можно воткнуть.
Записан
phpCoder
Гость
Re: Нужно ли использовать нитки?
«
Ответ #4 :
Май 13, 2015, 12:53 »
Хорошо, если нитки тут не нужны (не только FTP), тогда как делать паузу выполнения. И завершение как?
Вон, когда отлаживаем приложение в Qt - там на красный квадратик нажал, и приложение завершилось.
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Нужно ли использовать нитки?
«
Ответ #5 :
Май 13, 2015, 12:55 »
Цитата: phpCoder от Май 13, 2015, 12:53
Хорошо, если нитки тут не нужны (не только FTP), тогда как делать паузу выполнения. И завершение как?
Вон, когда отлаживаем приложение в Qt - там на красный квадратик нажал, и приложение завершилось.
Это шуточный вопрос?
Сделайте и у себя в приложении красный квадратик.
Записан
Bepec
Гость
Re: Нужно ли использовать нитки?
«
Ответ #6 :
Май 13, 2015, 13:22 »
И код красного квадратика выложите, меня тоже заинтересовало.
Записан
Пантер
Administrator
Джедай : наставник для всех
Offline
Сообщений: 5876
Жаждущий знаний
Re: Нужно ли использовать нитки?
«
Ответ #7 :
Май 13, 2015, 13:26 »
Вот синий не срабатывает, а красный сразу останавливает. Сам видел.
Записан
1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
qate
Супер
Offline
Сообщений: 1177
Re: Нужно ли использовать нитки?
«
Ответ #8 :
Май 13, 2015, 13:57 »
http://qt-project.org/wiki/Threads_Events_QObjects
команды (пауза, стоп, ...) между потоками кидай сигналами\слотами
Записан
phpCoder
Гость
Re: Нужно ли использовать нитки?
«
Ответ #9 :
Май 13, 2015, 14:19 »
Так все-таки потоки использовать?
Записан
Old
Джедай : наставник для всех
Offline
Сообщений: 4350
Re: Нужно ли использовать нитки?
«
Ответ #10 :
Май 13, 2015, 14:43 »
Цитата: phpCoder от Май 13, 2015, 14:19
Так все-таки потоки использовать?
Киньте монетку.
Вы спрашиваете "использовать"? А мы понятия не имеем, какие задачи вы собераетесь решать.
Было ваше уточнение про загрузку файла, вам сразу ответили, что для этого нитки не нужны. А что можно сказать про "другие длительные задачи" и "как поставить им паузу"?
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Нужно ли использовать нитки?
«
Ответ #11 :
Май 13, 2015, 14:48 »
Цитата: phpCoder от Май 13, 2015, 14:19
Так все-таки потоки использовать?
Не знаю подробностей FTP, но при I/O использование 2 и более ниток часто малоэффективно, и тратить на него время не стоит. Скорость все равно упирается в устройство, др словами ядрам нечего делать когда все льется в одну дырочку (ну или выливается). Вот если есть еще какая-то приличная обработка - тогда др дело
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...