@brotok вам лучше всего это составлять в конструкторе на условия функций. А там уже запись. В общем у вас буит 4 if -а только смотрите а если у вас совпадет все? При таком методе он 4 раза и запишет
@fox а можно ли создать условие, если это действие не выполнено - выполнить определенное условие?
Можно придумать разные костыли, например как писал выше, установить глобальную переменную в 0, а в конце успешного выполнения функции установить её в 1. Вызывать эту функцию через "вызов в несколько потоков", а после вызова установить проверку глобальной переменной.