По идее, в моём случае нет смысла использовать семафор. Нет множественного доступа к "критическому" объекту. Поток заполняет таблицу и выставляет флаг её готовности для второго потока. Всё. Я хотел уйти от использования таймера к более стройной структуре. Но получается ещё запутаней.