prozesse und threads



  • hallo,
    ich habe ein problem mit dem ich seit tagen kämpfe. es muss doch machbar sein.
    ich habe zwei applets die paralell laufen sollen.
    ein kommunikation-applet .sie läuft in eine undliche schleife und baut ständig verbindngen zum server auf, liest daten aus dem server und aktualisiert sie in java objekte und schläft 2s. innerhalb dieser schleife wird an einem anderen Applet mit der funktion showDocument weitergeleitet. die zweite Applet zeichnet einen bild mit der informationen aus der java-objekte. der benuzer kann mit mousclicks zu einem anderen bild wechseln (andere Applet) oder eine wert an server senden.
    mein problem: manchmal wenn ich mit dem mouse clicke um einem bild umzuschalten, bleibt mein programm hängen und da geht nichts mehr. das kommunikationsapplet läuft immer noch weiter.
    wenn ich das zweite Applet direkt aufrufe (d.h. ohne kommunikation) läut mein Applet einwandfrei auch wenn ich mit dem mouse arbeite. ich vermute dass die 2 prozesse gegnseitig blockieren.
    wie kann ich am besten synchronisieren zwischen diese 2 tasks (komminikation und zeichnen und mouseevents).
    eine kommunikation vorgang darf nicht unterbrochen werden beim lesen aus einer socket damit keine daten verloren gehen und auf mouseevents soll auch mit einer akzeptablen verzögerung reagiert werden.
    ist es besser wenn ich die kommunikation und das szeichnen in einem Applet realisiere. werden die threads auch nicht gegenseitig blockieren ?

    danke im voraus
    Youssef



  • Mir fällt spontan nur wait() und notify() zur Synchronisation ein, vielleicht hilft das ...


Anmelden zum Antworten