Одновременно может работать 3 станка,т.е. одновременно могут делаться 3 детали. Если станок на следующем шаге занят, а на текущем уже выполнена работа, то робот ожидает пока освободится следующий станок (ну и сам освобождает его), и только потом забирает деталь из текущего. Пришлось разбить на функции p1, p2... т.к. если описывать эти действия последовательно в основной функции (temp), то поток с бОльшим приоритетом будет занимать робота, не давая выполнить до конца действия в нужном порядке, либо если в основной функции встречаются функции dashboard, то робот сразу переходит в управление в другом потоке даже с меньшим приоритетом.