В настоящее время у меня есть программа, которая использует занятый пул и кучу потоков для мониторинга состояний объекта, обработки данных и передачи данных. Это все очень трудно управлять / тратить время процессора. Я смотрю на удаление потока и использую сигнал / слот, так как в моем коде нет ни одного "блока".
Так что я буду сигнализировать о состоянии моего объекта, что легко. Что еще сложнее, я также хочу использовать слоты для передачи данных и передачи данных.
В основном:
A-> SignalIHAVEDATA (B.slot () и C.slot ())
B и C могут не обрабатывать данные. Так что я должен держать флаг в B и C, говоря им, что это данные. Или я должен просто повторно сигнализировать каждые X мс, пока данные не будут приняты.
Также ..
Допустим, B принимает данные. Будет ли иметь смысл, что внутри B.Slot он принимает handleToA-> getData (); && обрабатывать данные? && signalAnotherThing.
Если я посылаю сигнал A и в слоте A я посылаю сигнал B, будет ли обрабатываться слот B до возвращения слота A? (Если эта цепочка очень длинная, может пройти некоторое время, прежде чем вернется slotA?)
Спасибо за помощь:)