продолжил работу над алгоритмом нашёл где косяки всё дело в потоковой модели нужно сделать по событиям9