Если создавать систему реального времени
(задача в общем то стоит не в этом, но это не так важно), то тогда конечно же должна стоять задача жёсткой синхронизации.
У нас же (исходя из того что есть) стоит задача создания системы с кооперативным делением процессорного времени.
В таком случае (есть такое положение), что обеспечить самый высокий приоритет система может лишь для прерывания. Любой поток (даже обладающий самым высоким приоритетом) будет всегда обладать в общей схеме низким приоритетом. А значит весьма возможно возникновение рассинхронизации.