короче, самый простой способ для тебя - поставить доп модуль
https://community.bablosoft.com/topic/9073/fingerprintswitcher-с-дополнительными-функциями
Есть 2 потока, пока первый что то делает второй ждет пока первый завершиться успехом или ошибкой и только тогда второй поток делал своё действие, это нужно для того что бы действие во втором потоке делалось даже когда первый поток завершиться с ошибкой. Или предложите как это можно реализовать по другому