Название: Многопоточность Отправлено: Vld2 от Ноябрь 05, 2006, 10:11 Создаю сотню потоков, вызываю start/run но они имеют тип void. Можно ли их переопределить, чтобы передавать параметры? Если нет, то как передать параметры в потоки?
Название: Многопоточность Отправлено: Tonal от Ноябрь 05, 2006, 11:58 Документацию то посмотри.
Тебе надо наследника от QThread написать, в ём переопределить функцию run. Именно в ней всё и должно делаться. Ну а данные для выполнения должны собержаться в твоём классе. Их ему например в конструкторе можно подать. Да, а зачем тебе сотня потоков? ;-) Название: Многопоточность Отправлено: Vld2 от Ноябрь 05, 2006, 18:14 Если сотня потоков, то сто раз переопределять функцию run это не дело.
Зачем? Порты сканить. Название: Многопоточность Отправлено: Tonal от Ноябрь 06, 2006, 08:32 Пишешь класс сканера - наследника QThread.
В конструктор передаёшь нужные для работы параметры. Сохраняешь их в членах-данных. Пишешь метод run() - который используя эти данные сканирует. Создаёшь нужное тебе количество экземпляров с конкретными параметрами. Запускаешь каждый с помощю start() Наслаждаешься. Чтобы наслаждение более было полным читаешь в assistant про QThread. ;-) |