Deadlocks wollte ich verhindern, indem das Programm maximal zwei Prozesse zulässt und solange noch einer läuft, wird er nicht fort fahren.
Wenn der Prozess zu lange braucht, wird er abgebrochen, der abgebrochene Prozess wird protokolliert und abgespeichert. So will ich verhindern, dass sich das Programm fest fährt. (Wenn ich den Begriff Deadlock hier falsch verstanden habe, dann tuts mir leid^^)
Nach einer groben Wikipedia-Recherche habe ich Racing Conditions so verstanden:
Wenn ein String mit einem anderen String verglichen wird, kann es passieren, dass in einzelnen Fällen ein vorheriger String verwendet wird, was dann zu einem Fehler führt. So habe ich das jetzt verstanden, da ich solch ein Problem bereits bei Batch hatte und einfach keine Idee, was der Fehler sein könnte.
Um das komplett zu verstehen, müsste ich dann vermutlich selber in den zweifelhaften Genuss von einem solchen Problem in C# kommen^^
Aber wenn ich mit der groben Beschreibung richtig liege, kann man das nicht so ändern, dass zwischen den Kontroll-Abfragen ein gewisser Zeitraum liegt, indem das Programm sich im Leerlauf befindet?
Oder, wenn ich über den Garbage Collection die vorherige Instanz in der Abfrage vollständig lösche, allerdings müsste ich mich dann erst damit auseinander setzen, wie ich den direkt ansprechen kann, besonders da ich mir nicht einmal sicher bin, ob das überhaupt so direkt geht^^
@ditto:
Ja, ist es. Ich will Musik-Dateien, die bevorzugter Weise in mp3 vorhanden sind (muss aber nicht sein, kann auch wmv, oder ein anderes sein) im selben Dateiformat behalten. Ich will deren Qualität auf ein bestimmtes Maximum reduzieren. Das habe ich vor, da (nach den Informationen, die bei der Bedienoberfläche im iTunes angezeigt werden, wenn der iPot angesteckt ist) der MP3-Player selber gar nicht in der Lage ist, die volle Qualität abzuspielen und diese überflüssigen Informationen dann unnütz Speicherplatz füllt.