Genau dazu habe ich das geschrieben und benutze ich es auch dafür.
Das was du als "hängen bleiben" bezeichnest, ist kein Hängen. Er braucht eben etwas, um den MD5 Hash zu berechnen. Wirklich hängen tut er, wenn nach zwei Minuten immer noch nichts passiert ist.
Ja, die
Exception hat mit den Thread(s) zu tun, wenn er die aktuelle Datei in der Statusbar ausgibt. Ich habe das zwar synchronisiert, aber irgendwie scheint das nicht immer zu klappen. Und da das nur sporadisch auftaucht, kann man das auch so schlecht debuggen.