Можно так:
— оповещать другой поток о события с помощью event'ов
— использовать общий для нескольких потоков пул данных для обмена данными.
В самом простом и нежелательном случае — это просто глобальные данные.
Доступ к таким данным не забывать синхронихировать с помощью мьютексов (критических секций).
Можешь еще посмотреть что есть в boost на этот случай.
Там минимальный, но достаточный набор примитивов для многопоточного программирования.