FREJ
FREJ copied to clipboard
Regex objects should be reuse-safe and thread-safe
Currently:
-
Regexobjects store in them the results of the last match; these should be moved somewhere else so the objects can be reused safely. -
Fuzzyclass 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.
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