Название: Чтение вторым потоком Отправлено: koptina от Февраль 14, 2018, 14:21 Здравствуйте.
Моя программа должна работать по схеме. По вызову метода старт - создаётся поток, в котором есть сокет, биндящийся на порт. Вся его задача состоит в том, что он слушает и пишет пришедшие пакеты в очередь, которая является как бы буфером между ним и потоком читальщиком. Я хочу, чтобы просходило так: он пишет в очередь, другой поток забирает из очереди, что-то делает и пишет в файл. Но не могу понять, как, где и по какому принципу создать второй поток. не могу понять, как сделать так, чтобы тот всё время пытался прочитать данные из очереди. Т.е. работать они не должны синхронно, не один за другим: первый записал, второй сразу прочитал, а асинхронно: сколько-то первый записал, второй сколько-то прочитал. Классическая задача, но если я справился с "составление буфера", то совсем не могу понять, как создать тот самый второй поток и какая у него должна быть начинка для вот постоянных попыток чтения из "буфера". Привожу код, который я написал. Код: #include <QCoreApplication> Код: #include "logikazdes.h" Код: #include "writetoqueue.h" Так вот как организовать работу 2 потока, который должен забирать из очереди эти данные и их обрабатывать? Желательно, ответьте кодом с пояснениями. Надеюсь задачу я понятно описал. Заранее спасибо Название: Re: Чтение вторым потоком Отправлено: qate от Февраль 15, 2018, 12:33 выкидывай сигналы из потока чтения с аргументов qbytearray и лови в потоке записи
сигналы будут приходить по очереди ничего лишнего и не надо |