Hallo Leute,
in meiner Anwendung soll ein Hintergrund-Thread in regelmäßigen Abständen prüfen ob neue
Dateien/Daten vorliegen, diese sollen dann eingelesen und in der Datenbank gespeichert werden.
Der Anwender kann dann auf der Programmoberfläche nach diesen Daten suchen und sich anzeigen lassen.
In einem ersten Test habe ich eine "Connection" aufgebaut und sowohl der Hintergrund-Thread als
auch der Main-Thread (Programmoberfläche) greifen über diese eine Verbindung auf die Datenbank zu.
Jedoch scheint das zu Problemen zu führen da ich ab und zu Exceptions erhalte, ich vermute das sich
die Abfragen in die quere kommen. (Der Hintergrund-Thread benutzt Transaktionen zum Speichern der Daten).
Der zweite Versuch mit zwei getrennten "Connection" klappt auch nicht da wenn der Hintergrund-Thread
Daten in die
DB speichert ist für den Main-Thread schein bar die
DB geblockt. Was ja logisch wäre da
SQLite nicht Mulituserfähig ist.
Muss ich jetzt manuell regeln das sich die Abfragen nicht in die Quere kommen oder ist es doch möglich das
ein Hintergrund-Thread Daten in einer Datenbank speichern oder ändern kann während gleichzeitig der Main-Thread
Daten Abfragen kann. Der Main-Thread müsste nie Daten ändern oder hinzufügen können.
Mfg
TUX