Здравствуйте!
В общем есть довольно примитивный класс основанный на threading. В процессе работы в классе проверяется некое условие. Данное условие это количество результатов len(re.findall())
При чем, я решил “облегчить” питону жизнь и сделал до объявления класса regexp = re.compile() в надежде на то, что однажды скомпилированная регулярка будет работать быстрее, нежели компилирование каждый раз. В итоге получилось regexp.findall(content).
По идее пока все правильно. НО! В процессе работы столкнулся с такой проблемой что результат не правильный. Он включает в себя какие то “дополнительные результаты”. Т.е. например в реальности число вхождений должно быть 10, а он выдает 245 (цифры с потолка, но так на самом деле). На сколько я понял, “дополнительные результаты” - это остатки от прошлых действий регулярки, или тех которые в данный момен обрабатываются.
Все эти же действия( regexp.findall(content) ) в один поток(без threading) дают правильный результат.
Как заствить работать данный кусок кода так, как мне надо?