Any combination of shared memory, shared variable, message queue, custom event (including signal/slot call) will be fine. Just remember to do some synchronisation of threads when appropriate.