Помогите разобраться c передачей данных по сети!, создание двух потоков |
Здравствуйте, гость ( Вход | Регистрация )
Помогите разобраться c передачей данных по сети!, создание двух потоков |
PVGDRK |
24.9.2010, 15:35
Сообщение
#1
|
Студент Группа: Участник Сообщений: 49 Регистрация: 27.4.2010 Пользователь №: 1662 Спасибо сказали: 0 раз(а) Репутация: 0 |
Имеется программа, которая выполняет следующие действия,
динамически выделяется оперативная память для хранения очень большого массива данных далее эти данные по сети посылаются в другой компутер,,, При передаче данных по сети вся система начинает тормозить. программу невозможно закрыть до тех пор пока не закончится эта передача .,,, В общем посоветовали мне передачу данных организовать не в основном потоке... поскольку опыта программирования у меня почти нет - приходиться учиться по ходу дела буду всем признательна за помощь поможет ли избавиться от "тормозов" организация многопоточности - может есть какие то решения по-проще? Далее вопрос про сам принцип организации этой многопоточности в книге пишут,что нужно создать класс QThread и перезаписать в нем виртуальный метод run(), в котором должен быть реализован код, который будет исполняться в потоке
Суть вроде ясна, а вот как переменные и соединения сигнал-слот из базового класса перенести в этот метод run()? Может я не совсем корректно что то написала.т.к. не разбираюсь в данном вопросе.... сама программа передачи данных была написана другим человеком на С , мне лишь нужно было сделать для нее графический интерфейс в QT и кое чего добавть... помогите пожалуйста разобраться в данном вопросе |
|
|
PVGDRK |
6.10.2010, 12:05
Сообщение
#2
|
Студент Группа: Участник Сообщений: 49 Регистрация: 27.4.2010 Пользователь №: 1662 Спасибо сказали: 0 раз(а) Репутация: 0 |
Да при нажатии на кнопку pushButton_5 в другом потоке должны выполниться определенные действия,
я пока тупо все что делается в обработчике сигнала on_pushButton_5_clicked(); хочу сделать в другом потоке, т,к. не совсем понимаю как выполнить часть действий в частности потому.что не знаю как обратиться к некотороым функциям, которые у меня импортировааны из dll.... Раскрывающийся текст extern "C" __declspec (dllimport) int Create30000000(WaveformDataReal **bS); extern "C" __declspec (dllimport) int Add30000000(FILE *fin,float freq, float SNR); как к ним можно обратиться в файле MyThread.cpp? Если я пишу m_pData -> дальше выпадает список используемых мной функций в классе генератор но этих, которые из dll нету в списке. И еще вопрос у меня в обработчике сигнала on_pushButton_5_clicked() есть локальные переменные к которым через m_pData не обратиться - какие есть варианты решения проблемы - сделать их глобальными или еще как то можно сделать? |
|
|
Текстовая версия | Сейчас: 4.12.2024, 15:28 |