вы упустили из виду
Mailboxes.
А вообще для начала нужно определиться чем именно нужно обмениваться - сигналами или сообщениями. А во многих случаях второй поток вообще не нужен
Если второй поток действительно оправдан и обмениваться нужно сообщениями - используйте mailboxes

Для сигналов используйте semaphores.
А вообще не мешало бы ознакомиться с механизмами синхронизации потоков - блокировки, критические секции, неблокирующие методы синхронизации и многое другое.
p.s.: звиняюсь за то что вклинился в высокоинтеллектуальную беседу адептов компьютерной мысли