crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Помогите разобраться c передачей данных по сети!, создание двух потоков
PVGDRK
  опции профиля:
сообщение 24.9.2010, 15:35
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 27.4.2010
Пользователь №: 1662

Спасибо сказали: 0 раз(а)




Репутация:   0  


Имеется программа, которая выполняет следующие действия,
динамически выделяется оперативная память для хранения очень большого массива данных далее эти данные по сети посылаются в другой компутер,,, При передаче данных по сети вся система начинает тормозить. программу невозможно закрыть до тех пор пока не закончится эта передача .,,,
В общем посоветовали мне передачу данных организовать не в основном потоке...
поскольку опыта программирования у меня почти нет - приходиться учиться по ходу дела буду всем признательна за помощь
поможет ли избавиться от "тормозов" организация многопоточности - может есть какие то решения по-проще?
Далее вопрос про сам принцип организации этой многопоточности
в книге пишут,что нужно создать класс QThread и перезаписать в нем виртуальный метод run(), в котором должен быть реализован код, который будет исполняться в потоке
class MyThread:public QThread
{
   public:
   void run()
    {
      код исполняемый в потоке
     }
}

Суть вроде ясна, а вот как переменные и соединения сигнал-слот из базового класса перенести в этот метод run()?
Может я не совсем корректно что то написала.т.к. не разбираюсь в данном вопросе.... сама программа передачи данных была написана другим человеком на С , мне лишь нужно было сделать для нее графический интерфейс в QT и кое чего добавть...
помогите пожалуйста разобраться в данном вопросе
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 6.10.2010, 11:18
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Цитата(PVGDRK @ 6.10.2010, 14:07) *
thread.start();

это напиши в конце конструктора главного окна. Или после созданияокна в main. Тогда окно успеет создасться :)

про on_pushButton_5_clicked я не совсем понял. Поток должен по неким сигналам понять, что нужно выполнить некую функцию - вот эти сигналы и надо приделать (сигналы тут - не прямо signals, а в общем смысле)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- PVGDRK   Помогите разобраться c передачей данных по сети!   24.9.2010, 15:35
- - Алексей1153   Цитата(PVGDRK @ 24.9.2010, 18:35) поможет...   24.9.2010, 18:34
- - PVGDRK   Спасибо за разъяснения. Я примерно так и предпола...   24.9.2010, 19:09
- - Алексей1153   Цитата(PVGDRK @ 24.9.2010, 22:09) А вот к...   24.9.2010, 19:21
- - PVGDRK   Это мне понятно, а как в этом классе QThread ис...   24.9.2010, 20:12
- - Алексей1153   PVGDRK, заведи в классе потока приватную член -пер...   24.9.2010, 20:19
- - PVGDRK   Ох, спасибо Про переменные почитаю - спасибо ,...   24.9.2010, 20:28
- - Алексей1153   PVGDRK, железки - обычно однопоточные, поэтому в н...   24.9.2010, 20:38
- - PVGDRK   Спасибо большое за разъяснения. В понедельник буд...   24.9.2010, 23:29
- - Алексей1153   а в выходные не будешь ? )   24.9.2010, 23:41
- - PVGDRK   Не , в выходные не получится - нет сети дома, да...   25.9.2010, 18:19
- - Гость_xls_*   Почитайте http://doc.qt.nokia.com/qq/qq27-responsi...   27.9.2010, 9:43
- - PVGDRK   Mercie beaucoup ( Большое спасибо ) Заодно и анг...   27.9.2010, 10:15
- - Алексей1153   Цитата(PVGDRK @ 27.9.2010, 13:15) Заодно ...   27.9.2010, 10:42
- - PVGDRK   Простите меня бестолковую, пожалуйста, помогите п...   30.9.2010, 15:35
- - Алексей1153   Цитата(PVGDRK @ 30.9.2010, 18:35) Простит...   1.10.2010, 6:27
- - PVGDRK   ЦитатаТочнее сказать: экземпляр класса CMyClass со...   1.10.2010, 11:59
- - Алексей1153   а где у тебя экземпляр MyThread создаётся ? по ме...   1.10.2010, 12:08
- - PVGDRK   Да к ui доступ есть псоле записи ui. выпадает сп...   1.10.2010, 12:36
- - Алексей1153   PVGDRK, так, стоп! "какие-то" - это ...   1.10.2010, 12:38
- - PVGDRK   Не, я так понимаю совсем не в конструкторе моег...   1.10.2010, 12:57
- - Алексей1153   PVGDRK, поиском я не нашёл, где у тебя создаётся э...   1.10.2010, 13:05
- - PVGDRK   Я так понимаю у меня вообще не создается экземпляр...   1.10.2010, 13:14
- - Алексей1153   Цитата(PVGDRK @ 1.10.2010, 16:14) Я так п...   1.10.2010, 13:22
- - PVGDRK   Если я все вырежу - то Вы мне тогда не сможете п...   1.10.2010, 13:34
- - Алексей1153   PVGDRK, ладно, щас набросаю схемку. Но! Срочно...   1.10.2010, 13:36
|- - Алексей1153   файл MyThread.h Раскрывающийся текст#pragma once #...   1.10.2010, 13:47
- - PVGDRK   Так я читаю - видно плохо понимаю что пишут......   1.10.2010, 13:39
- - PVGDRK   Безмерно Вам благодарна за подробный ответ Нечт...   1.10.2010, 14:08
- - PVGDRK   Помогите теперь, пожалуйста понять, как это рабо...   6.10.2010, 11:07
- - Алексей1153   Цитата(PVGDRK @ 6.10.2010, 14:07) thread....   6.10.2010, 11:18
- - PVGDRK   Да при нажатии на кнопку pushButton_5 в другом по...   6.10.2010, 12:05
- - Алексей1153   Цитата(PVGDRK @ 6.10.2010, 15:05) не знаю...   6.10.2010, 12:33
- - PVGDRK   так они у меня и так в cpp файле генератора опис...   6.10.2010, 15:08
- - Алексей1153   PVGDRK, "до конструктора" - это, я так п...   6.10.2010, 17:42
- - PVGDRK   Спасибо Вам добрый человек за терпение и внимание ...   7.10.2010, 8:18
- - Алексей1153   PVGDRK, я на самом деле злой, я ж из Обливиона )) ...   7.10.2010, 19:25


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


34 чел. читают эту тему (гостей: 34, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 4.12.2024, 15:27