def _data_update(subjects, queue, run_flag):
        """
        Get data from backgound process and notify all subscribed observers with the new data
        """
        while run_flag.running:
            while not queue.empty():
                data = queue.get()
                for subject in [s for s in subjects if not s.is_disposed]:
                    subject.on_next(data)
            time.sleep(0.1)