Не ришал ли ктонибудь такой задачи: есть два потока, один в файл что-то пишет, а другой должен читать. Сразу скажу, что вывешиванием событий для синхронизации пользоваться нельзя, то есть считывание должно происходить по факту записи, причем запись пакетная, заголовок, а потом данные.
Чтобы писать программы голова не нужна, нужна клавиатура.