Regex objects should be reuse-safe and thread-safe
KarolS opened this issue · 1 comments
KarolS commented
Currently:
Regex
objects store in them the results of the last match; these should be moved somewhere else so the objects can be reused safely.Fuzzy
class stores temporary values in static fields, making it totally thread-unsafe.
There are probably more problems similar to those, those two I found after just a cursory glance into the source code.
Currently, in order to use this library, I had to wrap all operations on Regex objects in a static synchronize block and pull out all the results from them while still inside the lock.
RodionGork commented
Yes, I'm afraid that when I wrote this, I have little understanding of thread-safety :)
I hope we can find a volunteer to fix this...
UPD I've removed staticness from Fuzzy. Updated binaries at frej.sf.net