Передача данных между потоками на C++

Тема в разделе "ASM, С/С++, Delphi, Java", создана пользователем nejtr0n, 18 янв 2017.

Метки:
  1. nejtr0n

    nejtr0n Постоялец

    Регистр.:
    24 янв 2014
    Сообщения:
    127
    Симпатии:
    72
    Здравствуйте.
    Возникла задача получать данные из потока по требованию. Но что то никак не разберусь, как это сделать. Помогите пожалуйста. Суть проблемы.

    Есть стандартный linux fifo, в который сыпятся сырые данные.
    Есть поток - обработчик этих данных.
    Он бесконечно читает данные, буферизует их, cтроит из них нужную структуру, и сохраняет её в переменную. (Пусть будет frame)

    Есть основной поток. В идеале он ничего не должен знать про обработчик данных.
    В любой момент времени он должен уметь считать текущий frame из дочернего потока.

    Но почему то у меня frame всегда пустой.
     
  2. fliuger

    fliuger Создатель

    Регистр.:
    24 янв 2017
    Сообщения:
    11
    Симпатии:
    4
    Вообще, конечно, неплохо было бы код посмотреть.
    А так, как вариант, может быть переменная объявляется после разделения потоков и, соответственно, является разной для каждого из них?

    Используете ли для синхронизации чтения/записи мьютексы (ну или семафоры)?