Russian Qt Forum
Ноябрь 22, 2024, 22:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Нужно ли использовать нитки?  (Прочитано 7139 раз)
phpCoder
Гость
« : Май 13, 2015, 12:15 »

Добрый день.
Есть класс, который загружает файлы на FTP. Задача эта очень долгая по времени. И порой нужно взять и остановить работу (совсем завершить или нажать на паузу). Вопрос: нужно ли тут использовать нитки? И если нужно, то как?
До сего момента с потоками не работал.

Если не сложно, можно пример того, как запускать, ставить паузу и останавливать, чтобы потом от этого отталкиваться.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Май 13, 2015, 12:20 »

Если будешь качать ассинхронно, то не надо никаких потоков.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
phpCoder
Гость
« Ответ #2 : Май 13, 2015, 12:38 »

Кроме FTP есть похожие длительные задачи. И тут интересует именно - запуск, пауза, завершение.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #3 : Май 13, 2015, 12:50 »

Вопрос: нужно ли тут использовать нитки?
Нитки нужны для параллельного выполнения.

Для этого:
Есть класс, который загружает файлы на FTP. Задача эта очень долгая по времени. И порой нужно взять и остановить работу (совсем завершить или нажать на паузу).

они не обязательны. Но при желании их туда можно воткнуть. Улыбающийся
Записан
phpCoder
Гость
« Ответ #4 : Май 13, 2015, 12:53 »

Хорошо, если нитки тут не нужны (не только FTP), тогда как делать паузу выполнения. И завершение как?

Вон, когда отлаживаем приложение в Qt - там на красный квадратик нажал, и приложение завершилось.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #5 : Май 13, 2015, 12:55 »

Хорошо, если нитки тут не нужны (не только FTP), тогда как делать паузу выполнения. И завершение как?

Вон, когда отлаживаем приложение в Qt - там на красный квадратик нажал, и приложение завершилось.
Это шуточный вопрос?

Сделайте и у себя в приложении красный квадратик. Подмигивающий
Записан
Bepec
Гость
« Ответ #6 : Май 13, 2015, 13:22 »

И код красного квадратика выложите, меня тоже заинтересовало.
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #7 : Май 13, 2015, 13:26 »

Вот синий не срабатывает, а красный сразу останавливает. Сам видел.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #8 : Май 13, 2015, 13:57 »

http://qt-project.org/wiki/Threads_Events_QObjects

команды (пауза, стоп, ...) между потоками кидай сигналами\слотами
Записан
phpCoder
Гость
« Ответ #9 : Май 13, 2015, 14:19 »

Так все-таки потоки использовать?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #10 : Май 13, 2015, 14:43 »

Так все-таки потоки использовать?
Киньте монетку. Улыбающийся

Вы спрашиваете "использовать"? А мы понятия не имеем, какие задачи вы собераетесь решать.
Было ваше уточнение про загрузку файла, вам сразу ответили, что для этого нитки не нужны. А что можно сказать про "другие длительные задачи" и "как поставить им паузу"?
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #11 : Май 13, 2015, 14:48 »

Так все-таки потоки использовать?
Не знаю подробностей FTP, но при I/O использование 2 и более ниток часто малоэффективно, и тратить на него время не стоит. Скорость все равно упирается в устройство, др словами ядрам нечего делать когда все льется в одну дырочку (ну или выливается). Вот если есть еще какая-то приличная обработка - тогда др дело
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 23.