meer dan waarschijnlijk kom je er niet uit omdat er gewoon iets te veel problemen in de code zit waardoor er continue race conditation ontstaan. De imho beste manier om in dit soort code zo'n probleem op te lossen is achteraan beginnen. Oftewel haal het downloaden en bewaren op de harddisk uit de thread, alles blijft zoals het nu is maar er vindt geen download plaats.
Dan weer runnen en kijken of het probleem nog steeds optreed. Is dat het geval dan ga je vervolgens de execute van de thread helemaal uitsluiten door alles daar uit te zetten. Als het probleem er dan nog steeds is dan vervolgens het opstarten van de thread uitzetten etc.
Maar imho is de code te ingewikkeld voor iets simpels als het tegelijkertijd downloaden van wat bestanden en (wederom imho) komt dat omdat je kiest voor een http component die blocked waardoor je gedwongen wordt om het met threads op te lossen.
Bookmarks