verschiedene Methonden innerhalb des gleichen Threads

moe5k

Mitglied
Hallo,

ich würde gerne eine statische Klasse, welche in einem eigenen Thread laufen soll
mit verschiedenen Methoden versehen. Sobald eine dieser Methoden aufgerufen wird
soll sie automatisch in dem Thread der statischen Klasse laufen.

Ich stelle mir das so vor, dass beim instanzieren der Klasse (via get Instance) der
Thread gestartet wird und wie schon beschrieben bei jedem Methodenaufruf dieser
Klasse der Thread genutzt wird.

Geht so etwas ?
Hätte jemand vielleicht ein Codebeispiel ?

Moe
 
Hm. Der Aufruf an sich passiert erstmal in dem Thread, in dem er eben passiert. Aber die eigentliche Ausführung könnte man auslagern - GANZ grob mit sowas wie
Java:
class Threader
{
    private static ThreadPoolExecutor executor = ... 


    public static void doit()
    {
        Runnable r = new Runnable() 
        {
            public void run() { doItInThread(); }
        });
        executor.execute(r);
    }
    
    private static void doItInThread() { ... }
}
Wirkt zwar ganz tricky, aber ich frag' mich schon, wofür man das brauchen kann... ???:L
 
Danke, das muss ich mir mal genauer ansehen und testen.

Ich brauche es um verschiedene Datenbankabfragen zu realisieren.
Die Methoden geben mir jeweils das Ergebnis der DB-Abfragen zurück.

Vielleicht gehts ja auch einfacher ?

Gruß Moe
 
Wenn die Abfragen in einem neuen Thread passieren sollen, kann die aufgerufene Methode nicht einfach ein Result zurückgeben. Da müsste dann das Programm wieder warten, bis die Query passierte, und dann benötigt man das Multithreading gar nicht mehr.
 
Das leuchtet natürlich ein und ging mir auch schon durch den Kopf.
Aber wie ist es sonst zu realisieren, dass die GUI während der DB-Abfragen
nicht blockiert wird ?
 
Danke nochmal an alle für die Hinweise ... werde mich nochmal
intensiver damit befassen und die Vorgehensweise überdenken.

Moe
 

Neue Themen


Zurück
Oben