Threads Threads in Chatroom

Ljonja2107

Mitglied
Moin, ich arbeite zur Zeit an einer Software, welche über eine Socketverbindung mit einem anderen Gerät kommunizieren soll, sprich Client/Server Verbindung.
Nun habe ich von jedem jeweils eine Klasse und habe den Code so geschrieben, dass ich vom Server schreiben kann und ebenfalls vom Client schreiben kann.
Nun ist mir bewusst, dass das Lesen und Horchen nicht gleichzeitig im Main Thread erfolgen kann. Entweder wird gehorcht oder geschrieben.
Nun habe ich eine dritte Klasse erstellt und versuche einen Thread so zu schreiben, dass dieser einfach nur schreibt, dass dem Client/Server übergibt während die einfach nur am lauschen sind und auf Inhalt vom InputStream warten.
Ich bekomme es aber echt nicht hin. Jemand eine Idee ?
Der Code sieht folgendermaßen aus:
Java:
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

public class Client {

  public static void main(String[] args) {
    Socket socket = null;
    // boolean nachrichtEmpfangen = false;
    String empfangeneNachricht;
    // String zuSendendeNachricht;
    boolean exit = false;

    OutputStream zuServer;
    PrintStream stream;
    Scanner scanner;
    InputStream vonServer;
    BufferedReader leserVonInput;
    // String nickname;
    try {
      socket = new Socket("localhost", 3456);
      zuServer = socket.getOutputStream();
      stream = new PrintStream(zuServer);
      scanner = new Scanner(System.in);
      vonServer = socket.getInputStream();
      leserVonInput = new BufferedReader(new InputStreamReader(vonServer));

      // System.out.print("Gib dir einen Nickname: ");
      // nickname = scanner.nextLine();

      Schreiber schreibThread = new Schreiber();
      Thread schreiber = new Thread(schreibThread);
      schreiber.start();
      while (exit == false) {
        // System.out.print(nickname + ": ");
        // zuSendendeNachricht = scanner.nextLine();
        // if (zuSendendeNachricht.equals("quit")) {
        // exit = true;

        // socket.close();

        // }
        // stream.println(zuSendendeNachricht);

        while (leserVonInput.ready()) {
          empfangeneNachricht = leserVonInput.readLine();
          System.out.println("Nachricht vom Server: " + empfangeneNachricht);
          if (empfangeneNachricht.equals("quit")) {
            exit = true;
            scanner.close();

          }
        }

      }
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
Java:
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.URL;
import java.util.Scanner;

public class Server {

  private final ServerSocket server;
  Scanner scanner = new Scanner(System.in);
  String nachrichtSpeicher;
  String zuSendendeNachricht;
  boolean nachrichtEmpfangen = false;
  boolean exit = false;
  InputStream vonClient;
  BufferedReader lesenVonClient;

  public Server(int port) throws IOException {
    server = new ServerSocket(port);
    System.out.println("Server starting...");
  }

  private void verbinde() {
    while (!exit) {
      // Endlosschleife für Verbindung
      Socket socket = null;

      try {
        socket = server.accept();
        nachrichtenAustausch(socket);
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }

  public void nachrichtenAustausch(Socket socket) throws IOException {
    try {
      vonClient = socket.getInputStream();
      lesenVonClient = new BufferedReader(new InputStreamReader(vonClient));

      OutputStream zuClient = socket.getOutputStream();
      PrintStream schreiben = new PrintStream(zuClient);
      while (nachrichtEmpfangen == false) {
        // System.out.println(lesenVonClient.ready());
        while (lesenVonClient.ready()) {
          nachrichtSpeicher = lesenVonClient.readLine();
          if (nachrichtSpeicher.equals("test")) {
            URL soundbyte = new File("C:\\Users\\T0244695\\Desktop\\Dokumente und Diagramme/old-phone-ringing.wav").toURI().toURL();
            java.applet.AudioClip clip = java.applet.Applet.newAudioClip(
              soundbyte );
            clip.play();
            System.out.println("Nachricht von Client: " + nachrichtSpeicher);
          } else if (nachrichtSpeicher.equals("quit")) {
            schreiben.println("quit");
            System.out.println("Verbindung wird getrennt...");
            scanner.close();
            socket.close();
            exit = true;
            nachrichtEmpfangen = true;
          } else {
            System.out.println("Nachricht von Client: " + nachrichtSpeicher);
            System.out.println("Geben Sie Nachricht ein: ");
            zuSendendeNachricht = scanner.nextLine();
            if (zuSendendeNachricht.contains("quit")) {
              scanner.close();
              socket.close();
              exit = true;
              nachrichtEmpfangen = true;
            }
            schreiben.println(zuSendendeNachricht);
          }
        }
      }
    } catch (Exception e) {
      System.out.println("Serververbindung getrennt.");
    }
  }

  public static void main(String[] args) throws IOException {
    Server server = new Server(3456);
    server.verbinde();
  }
}
Java:
import java.io.FileNotFoundException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.util.Scanner;

public class Schreiber implements Runnable {
    Socket socket;
    OutputStream zuServer;
    Scanner scanner;
    PrintStream schreibWerkzeug;
    String nickname;
    String zusendendeNachricht;
    boolean exit = false;

    public Schreiber() throws FileNotFoundException {
        Scanner scanner = new Scanner(System.in);
        this.scanner = scanner;
        this.schreibWerkzeug=schreibWerkzeug;
    }

    @Override
    public void run() {
        System.out.print("Gib dir einen Nickname: ");
        nickname = scanner.nextLine();
        while (exit == false) {
            System.out.print(nickname + ": ");
            zusendendeNachricht = scanner.nextLine();
            if (zusendendeNachricht.equals("quit")) {
                exit = true;

            } else {
                schreibWerkzeug.println(zusendendeNachricht);
            }
        }
    }
}
 

httpdigest

Top Contributor
Zumindest das hier ergibt keinen Sinn:
Java:
    Socket socket;
    OutputStream zuServer;
    Scanner scanner;
    PrintStream schreibWerkzeug;
    String nickname;
    String zusendendeNachricht;
    boolean exit = false;

    public Schreiber() throws FileNotFoundException {
        Scanner scanner = new Scanner(System.in);
        this.scanner = scanner;
        this.schreibWerkzeug=schreibWerkzeug; // <-- this.schreibWerkzeug = this.schreibWerkzeug!!!
    }

Das sollte dir eigentlich jede IDE sofort sagen, dass das ein "ineffektive assignment" ist.
Du weist hier die Instanzvariable schreibWerkzeug auf sich selbst zu (also null).
 

Ljonja2107

Mitglied
Zumindest das hier ergibt keinen Sinn:
Java:
    Socket socket;
    OutputStream zuServer;
    Scanner scanner;
    PrintStream schreibWerkzeug;
    String nickname;
    String zusendendeNachricht;
    boolean exit = false;

    public Schreiber() throws FileNotFoundException {
        Scanner scanner = new Scanner(System.in);
        this.scanner = scanner;
        this.schreibWerkzeug=schreibWerkzeug; // <-- this.schreibWerkzeug = this.schreibWerkzeug!!!
    }

Das sollte dir eigentlich jede IDE sofort sagen, dass das ein "ineffektive assignment" ist.
Du weist hier die Instanzvariable schreibWerkzeug auf sich selbst zu (also null).
Ja das stimmt, habe manche Sachen nur aufgeschrieben, damit ich sie einfach vor Augen habe. Manche Ansätze verlaufen auch im Sand, bin schon seit 2-3 Tagen am testen und komme nicht weiter. Danke für den Hinweis :)
 

KonradN

Super-Moderator
Mitarbeiter
Also bei dem Code ist schwer zu sagen, wo man da anfangen kann.

Mein erster Tipp bezieht sich auf:
habe manche Sachen nur aufgeschrieben, damit ich sie einfach vor Augen habe.
Das ist das schlechteste Vorgehen, das du haben kannst. Damit hast Du ein Projekt, das aus mehreren Gründen nicht funktioniert oder gar nicht mal übersetzbar ist und Du daher eigentlich keine Chance hast, voran zu kommen.

Wenn Du so ein Projekt angehen willst, dann überlege Dir einfache kleine Schritte, die Du als Ganzes erledigen kannst. Dazu gehört dann auch immer ein Test, ob es funktioniert. Diese Schritte schreibst Du Dir auf. Das kannst Du auf einem Zettel machen. Du kannst aber auch Karteikarten nutzen. Oder Du greifst auf eine Software zurück - es gibt da sehr viele Möglichkeiten, wie Du das verwalten kannst. Z.B. Gitlab mit den Tasks dort oder so.

Dann kann ein erster Schritt einfach ein Server sein, der Verbindungen annimmt auf einem Port und dann alles, was er empfängt zurück sendet.
==> Das schreibst Du dann. Dann hast Du nur einen Server. Testen kannst Du es dann z.B. mit einem einfachen Telnet (putty kann das z.B. wenn Du Windows nutzt). (Das ist jetzt sehr oberflächig. Dahinter steckt noch mehr - Client-Server tauschen Textnachrichten aus und Zeilenumbrüche trennen einzelne Nachrichten. Sowas muss aber natürlich auch klar sein!)

Das kannst Du dann im nächsten Schritt erweitern: Mehrere Clients können sich gleichzeitig verbinden und was ein Client sendet, wird an alle weiter gegeben.

Dann kannst Du da was einbauen, dass der Server eine Verbindung beendet, wenn ein Client QUIT schickt.

Dann kannst Du einen Client bauen, der sich verbinden kann ... Der Benutzer kann Dinge eingeben und die werden dann abgesendet.

u.s.w.

Aber immer, wirklich immer, hast Du nach einem Task einen Stand, der in sich funktioniert!

Ein Traum, wenn Du dann noch Unit Tests hättest, die sowas testen würden, eine Sourcecode Versionierung wie Git, ggf. statische Codeanalyse (Und wenn das nur die Analyse der IDE ist!) , .... Selbst in der Richtung kann man also sehr viel machen.
 

Ljonja2107

Mitglied
Also bei dem Code ist schwer zu sagen, wo man da anfangen kann.

Mein erster Tipp bezieht sich auf:

Das ist das schlechteste Vorgehen, das du haben kannst. Damit hast Du ein Projekt, das aus mehreren Gründen nicht funktioniert oder gar nicht mal übersetzbar ist und Du daher eigentlich keine Chance hast, voran zu kommen.

Wenn Du so ein Projekt angehen willst, dann überlege Dir einfache kleine Schritte, die Du als Ganzes erledigen kannst. Dazu gehört dann auch immer ein Test, ob es funktioniert. Diese Schritte schreibst Du Dir auf. Das kannst Du auf einem Zettel machen. Du kannst aber auch Karteikarten nutzen. Oder Du greifst auf eine Software zurück - es gibt da sehr viele Möglichkeiten, wie Du das verwalten kannst. Z.B. Gitlab mit den Tasks dort oder so.

Dann kann ein erster Schritt einfach ein Server sein, der Verbindungen annimmt auf einem Port und dann alles, was er empfängt zurück sendet.
==> Das schreibst Du dann. Dann hast Du nur einen Server. Testen kannst Du es dann z.B. mit einem einfachen Telnet (putty kann das z.B. wenn Du Windows nutzt). (Das ist jetzt sehr oberflächig. Dahinter steckt noch mehr - Client-Server tauschen Textnachrichten aus und Zeilenumbrüche trennen einzelne Nachrichten. Sowas muss aber natürlich auch klar sein!)

Das kannst Du dann im nächsten Schritt erweitern: Mehrere Clients können sich gleichzeitig verbinden und was ein Client sendet, wird an alle weiter gegeben.

Dann kannst Du da was einbauen, dass der Server eine Verbindung beendet, wenn ein Client QUIT schickt.

Dann kannst Du einen Client bauen, der sich verbinden kann ... Der Benutzer kann Dinge eingeben und die werden dann abgesendet.

u.s.w.

Aber immer, wirklich immer, hast Du nach einem Task einen Stand, der in sich funktioniert!

Ein Traum, wenn Du dann noch Unit Tests hättest, die sowas testen würden, eine Sourcecode Versionierung wie Git, ggf. statische Codeanalyse (Und wenn das nur die Analyse der IDE ist!) , .... Selbst in der Richtung kann man also sehr viel machen
Danke für die ratsamen Tipps!
Werde ich umsetzen.
Das Problem ist nur, dass ich tatsächlich viele Sachen bereits getestet habe und die haben auch funktioniert (z.B. Client verbindet mit Server und Nachrichten werden tatsächlich ausgetauscht, nur nicht synchronisiert und nicht wie man es aus Chats kennt)
Ich habe als Testschritt davor auch einfache Threads integriert, wie z.B. irgendwelche Schleifen Abläufe mit Ausgabe während ich schreibe. Das hat alles ohne Probleme funktioniert.
Der nächste Schritt mit dem schreiben während des Lauschens bereitet mir große Probleme.
VG
 

Jw456

Top Contributor
Bei einer Verbindung von nur zwei Teilnehmern ist das so wie du es versuchst vielleicht möglich .

Ein Chat mit vielen Teilnehmern braucht dann schon besser einen zentralen Server.
Bei deiner Variante müsstest du ja deine Nachricht an alle eingeloggten Teilnehmer senden. Damit alle die Nachricht erhalten.
 

Jw456

Top Contributor
Ich wollte eigentlich schreiben.
Das sollte bestimmt in den Konstruktor als Übergabe Parameter:

Java:
public class Schreiber implements Runnable {
    ...
    public Schreiber(PrintStream schreibWerkzeug) throws FileNotFoundException {
        scanner = new Scanner(System.in);
        this.schreibWerkzeug=schreibWerkzeug;
    }
Code:
public class Client {
   ...
    public static void main(String[] args) {
       ...
            Schreiber schreibThread = new Schreiber(stream);
 
Zuletzt bearbeitet:

Ljonja2107

Mitglied
Bei einer Verbindung von nur zwei Teilnehmern ist das so wie du es versuchst vielleicht möglich .

Ein Chat mit vielen Teilnehmern braucht dann schon besser einen zentralen Server.
Bei deiner Variante müsstest du ja deine Nachricht an alle eingeloggten Teilnehmer senden. Damit alle die Nachricht erhalten.
Moin, aber genau das habe ich vor. Einen Chat für maximal 2 Leute.
 

Jw456

Top Contributor
Dann läuft auf jeden Gerät Handy oder PC ein Programm was einen Server hat und einen Client. Beide weden dann gestartet laufen dann am besten in unterschiedlichen Threads. Werden aber von der gleichen main Methode aus gestartet. Im moment hast du ein Programm Server und ein Programm Client.
Das müsste dann in einem sein. Und das ganze wird dann auf zwei Pc laufen. Würde das auch auf zwei PCs testen.
 

Jw456

Top Contributor
Dann muss natürlich der client immer wider versuchen zum anderen Server zu verbinden. Ständig testen ob der server erreichbar ist.

Da du ja ohne zentralen
server arbeiten willst.
 
Zuletzt bearbeitet:

Ljonja2107

Mitglied
Dann läuft auf jeden Gerät Handy oder PC ein Programm was einen Server hat und einen Client. Beide weden dann gestartet laufen dann am besten in unterschiedlichen Threads. Werden aber von der gleichen main Methode aus gestartet. Im moment hast du ein Programm Server und ein Programm Client.
Das müsste dann in einem sein. Und das ganze wird dann auf zwei Pc laufen. Würde das auch auf zwei PCs testen.
Aber wie mache ich das am besten ? Weil ich ja auch möchte, dass die beiden gleichzeitig schreiben und empfangen können, heißt, dass ich ja listening und writing auch in Threads machen muss oder ? Stehe ziemlich auf dem Schlauch.
 

KonradN

Super-Moderator
Mitarbeiter
Schau dir evtl. mal https://github.com/kneitzel/java-forum-algorithms/tree/master/src/main/java/de/kneitzel/net an.

Da habe ich mal ein kleinen Beispiel Server mit Sockets gebaut ... habe jetzt keine Zeit, mir den Stand anzusehen, aber du erkennst den Server und wie der Server seine Clients handhabt.

Ist in erster Linie nur ein kleiner Rahmen.

Wenn Du nicht den Anspruch hast, da alles selbst zu schreiben, dann greif zu einer Library, die dir deutlich mehr bietet. Netty wäre eine Option, aber es gibt noch deutlich mehr.
 

Jw456

Top Contributor
Schau dir evtl. mal https://github.com/kneitzel/java-forum-algorithms/tree/master/src/main/java/de/kneitzel/net an.

Da habe ich mal ein kleinen Beispiel Server mit Sockets gebaut ... habe jetzt keine Zeit, mir den Stand anzusehen, aber du erkennst den Server und wie der Server seine Clients handhabt.

Ist in erster Linie nur ein kleiner Rahmen.

Wenn Du nicht den Anspruch hast, da alles selbst zu schreiben, dann greif zu einer Library, die dir deutlich mehr bietet. Netty wäre eine Option, aber es gibt noch deutlich mehr.
Frage gibst es netty auch für Android?
 

KonradN

Super-Moderator
Mitarbeiter

Android support​

Given that:

  • mobile devices are becoming more and more powerful,
  • the most known issues with NIO and SSLEngine in ADK were fixed since Ice Cream Sandwich, and
  • users obviously want to reuse their codecs and handlers in their mobile applications,
we decided to support Android (4.0 or above) officially.

However, we do not have an automated testsuite for Android yet. If you find any issues with Android, please feel free to file an issue. Please also consider contributing to the project to make Android tests a part of the build process.
 

KonradN

Super-Moderator
Mitarbeiter
Und beim TE habe ich noch nichts von Android gesehen. Und da ist es schon relativ speziell - da muss man ja deutlich mehr beachten z.B. den Lifecycle bei einer App, die läuft.

Je nachdem, was man machen will, ist es da durchaus angebracht, ggf. auch andere Lösungen zu betrachten wie z.B. Push Benachrichtigungen und so. Es geht aber erst einmal rein um einfache Sockets auf einem Computer (mit Scanner auf System.in und so).
 

Ljonja2107

Mitglied
Und beim TE habe ich noch nichts von Android gesehen. Und da ist es schon relativ speziell - da muss man ja deutlich mehr beachten z.B. den Lifecycle bei einer App, die läuft.

Je nachdem, was man machen will, ist es da durchaus angebracht, ggf. auch andere Lösungen zu betrachten wie z.B. Push Benachrichtigungen und so. Es geht aber erst einmal rein um einfache Sockets auf einem Computer (mit Scanner auf System.in und so).
Dankesehr :)
 

Ljonja2107

Mitglied
Schau dir evtl. mal https://github.com/kneitzel/java-forum-algorithms/tree/master/src/main/java/de/kneitzel/net an.

Da habe ich mal ein kleinen Beispiel Server mit Sockets gebaut ... habe jetzt keine Zeit, mir den Stand anzusehen, aber du erkennst den Server und wie der Server seine Clients handhabt.

Ist in erster Linie nur ein kleiner Rahmen.

Wenn Du nicht den Anspruch hast, da alles selbst zu schreiben, dann greif zu einer Library, die dir deutlich mehr bietet. Netty wäre eine Option, aber es gibt noch deutlich mehr.
1661243800621.png
ist das ein Fehler, der aus versehen unterlaufen ist ?
 

Jw456

Top Contributor
Und beim TE habe ich noch nichts von Android gesehen. Und da ist es schon relativ speziell - da muss man ja deutlich mehr beachten z.B. den Lifecycle bei einer App, die läuft.

Je nachdem, was man machen will, ist es da durchaus angebracht, ggf. auch andere Lösungen zu betrachten wie z.B. Push Benachrichtigungen und so. Es geht aber erst einmal rein um einfache Sockets auf einem Computer (mit Scanner auf System.in und so).
das wolte ich halt wissen
 

KonradN

Super-Moderator
Mitarbeiter
Anhang anzeigen 18936
ist das ein Fehler, der aus versehen unterlaufen ist ?
Nutzt Du noch Java 8? Da solltest Du Dir überlegen, auf eine aktuelle Java Version zu wechseln. Java 17 wäre die aktuelle LTS Version und Java wäre die aktuelle Version.

Du kannst die eine Zeile ersetzen durch etwas wie:
Java:
List<TcpServerClient> result = new ArrayList<>();
result.addAll(clients);
return result;
 

Ljonja2107

Mitglied
Mit dem Arbeitscomputer können wir nur mit Zulu 8 arbeiten. Aber danke für den Tipp.
Wenn ich den GitHub Prototypen, soll ich dann noch eine Main schreiben, weil ich kann die Server Klasse nicht starten.

Nutzt Du noch Java 8? Da solltest Du Dir überlegen, auf eine aktuelle Java Version zu wechseln. Java 17 wäre die aktuelle LTS Version und Java wäre die aktuelle Version.

Du kannst die eine Zeile ersetzen durch etwas wie:
Java:
List<TcpServerClient> result = new ArrayList<>();
result.addAll(clients);
return result;
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
rode45e Java Threads Allgemeine Java-Themen 4
M Threads Allgemeine Java-Themen 1
berserkerdq2 run-methode eines Threads so programmieren, dass 30x die Sekunde etwas ausgeführt wird. Allgemeine Java-Themen 44
berserkerdq2 Threads, wie genau läuft das in Java ab? (Ich kann Threads erstellen und nutzen, nur das Verständnis) Allgemeine Java-Themen 6
CptK Backpropagation parallelisieren: Kommunikation zwischen den Threads Allgemeine Java-Themen 7
J Eine Frage zu den Threads und Task Allgemeine Java-Themen 1
W Wieviele Threads sind sinnvoll? Allgemeine Java-Themen 8
W Alternative für Threads Allgemeine Java-Themen 6
V Threads Probleme beim Aufrufen von Methoden einer anderen Klasse (Threads) Allgemeine Java-Themen 14
T Multithreading: Wie viele Threads sollte ich erstellen? Allgemeine Java-Themen 12
G Threads vom Mainprogramm steuern Allgemeine Java-Themen 8
S BlockingQueue mit dynamischer Anpassung der Anzahl von Producer und Consumer Threads Allgemeine Java-Themen 1
x46 Threads Threads anhalten Allgemeine Java-Themen 1
J Threads verbessern die Performance NICHT ? Allgemeine Java-Themen 8
W Threads Problem Allgemeine Java-Themen 15
T Threads Tic Tac Toe mit Threads Allgemeine Java-Themen 1
M Threads über Kommandozeile Allgemeine Java-Themen 5
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
J Threads - java.lang.IllegalThreadStateException Allgemeine Java-Themen 6
J Internet Broswer in Threads öffnen Allgemeine Java-Themen 1
B Threads Multithreading Threads sollen warten Allgemeine Java-Themen 12
N 1000 MQTT Messages die Sekunde - 1000 Threads erstellen ? Allgemeine Java-Themen 10
D Threads Parallel laufende Threads Allgemeine Java-Themen 4
J Unvorhersehbares Verhalten - benutze ich die falsche Bedingungsprüfung oder brauche ich Threads? Allgemeine Java-Themen 12
D Eine Forschleife mit Threads abarbeiten um es zu schneller zu machen. Ist das möglich? Allgemeine Java-Themen 20
S Wie kann ich eine kleine Stelle in meinem Code mit multiplen Threads abarbeiten..? Allgemeine Java-Themen 20
P Threads Parallelisierte DB-Abfragen mit variabler Anzahl an Threads Allgemeine Java-Themen 4
J Threads Threads Allgemeine Java-Themen 9
Viktim Threads Liste In unterschiedlichen Threads bearbeiten Allgemeine Java-Themen 23
E Threads Ausführung in Threads ist langsamer als ohne Threads Allgemeine Java-Themen 13
A Anzahl an Threads Systemweit Allgemeine Java-Themen 2
Tausendsassa Input/Output Problem mit der gleichzeitigen Ausgabe zweier Threads Allgemeine Java-Themen 8
S Alle Methodenaufrufe eines Threads notieren..? Allgemeine Java-Themen 7
M Threads JPanel eingeforen mit Threads Allgemeine Java-Themen 2
F Threads Allgemeine Java-Themen 6
F Threads Allgemeine Java-Themen 2
M Sinn von Threads? Allgemeine Java-Themen 1
J Wie erschaffe ich einen sicheren Datenaustausch zwischen Thread und Nicht-Threads Allgemeine Java-Themen 8
L Abfragen ob Threads fertig Allgemeine Java-Themen 3
P Threads Java Zugreifen Allgemeine Java-Themen 6
K Problem: Java-Klasse mit mehreren Threads als eigenen Prozess starten Allgemeine Java-Themen 3
K KeyEvent in Threads Allgemeine Java-Themen 11
V Threads Weshalb funktionieren meine Threads nicht? Allgemeine Java-Themen 2
Thallius Speicherverhalten von Properties und mehreren Threads Allgemeine Java-Themen 5
L Threads beenden Allgemeine Java-Themen 4
P Threads Threads nicht gleichzeitig starten Allgemeine Java-Themen 3
S Threads Threads werden nicht beendet Allgemeine Java-Themen 2
S Start des zweiten Threads erst nach Beenden des ersten Threads Allgemeine Java-Themen 13
N Threads statische Methoden in Threads Allgemeine Java-Themen 5
P 4 Threads in einer Methode Allgemeine Java-Themen 2
M Eclipse Mehrere Threads, mehrere Konsolen Allgemeine Java-Themen 4
OnDemand Threads und synchronized Allgemeine Java-Themen 9
R LinkedList und Threads: Strukturprobleme bez. löschen von Elementen Allgemeine Java-Themen 3
R LinkedList und Threads - welche Methode ist besser? Allgemeine Java-Themen 2
OnDemand Threads und synvhronized Allgemeine Java-Themen 2
S Problem mit Threads Allgemeine Java-Themen 1
W Threads Threads warten lassen Allgemeine Java-Themen 5
H Optimierung durch Threads Allgemeine Java-Themen 31
B Threads halten sich irgendwie auf... Allgemeine Java-Themen 6
M Threads Allgemeine Java-Themen 8
K JNI: Methoden aus unterschiedlichen Threads aufrufen Allgemeine Java-Themen 3
A Applet Alle Threads beim schließen des Applets beenden Allgemeine Java-Themen 8
A Problem mit der Synchronisierung von Threads Allgemeine Java-Themen 15
R SecurityManager für einzelne Klassen/Threads? Allgemeine Java-Themen 38
O Threads und If Befehle Allgemeine Java-Themen 7
P Threads abwechseln lassen mit wait() und notify() Allgemeine Java-Themen 2
H Sehr viele Threads effizient Verwalten Allgemeine Java-Themen 13
C Threads und Exceptions Allgemeine Java-Themen 7
H java.lang.OutOfMemoryError bei der wiederholten Erzeugng von Threads Allgemeine Java-Themen 8
S Threads Abarbeitungsstatus von Threads in Datei schreiben Allgemeine Java-Themen 2
M Zugriff zweier Threads auf diesselbe Methode Allgemeine Java-Themen 16
E Threads Sudoku Threads Allgemeine Java-Themen 8
M Java Threads - Wait Notify - Verständnisproblem Allgemeine Java-Themen 5
Gossi Threads mit unterschiedlichen Aufgaben in einer Klasse? Allgemeine Java-Themen 9
G Threads Ablauf von Threads im Spezialfall Allgemeine Java-Themen 4
V Threads bei quadcore Allgemeine Java-Themen 10
V 1000 Threads oder Iterativ? Allgemeine Java-Themen 11
4 Simple(?) Frage zu Threads Allgemeine Java-Themen 14
B Threads Game of Life - Threads Allgemeine Java-Themen 49
R Threads Exceptions von Threads abfangen im ThreadPool Allgemeine Java-Themen 5
S Threads Ende sämtlicher Threads abwarten Allgemeine Java-Themen 6
S Frage zu Threads (Sichtbarkeit und Verhalten) Allgemeine Java-Themen 11
M Java-Threads und Datentypen-Zugriffe Allgemeine Java-Themen 7
P Threads- Programming Allgemeine Java-Themen 2
G Threads Klasse Sound und Threads bleiben hängen Allgemeine Java-Themen 4
C Threads Zwei Threads greifen auf LinkedList zu. Allgemeine Java-Themen 12
M OutOfMemoryError in nebenläufigen Threads Allgemeine Java-Themen 6
M Threads dauerhafte bewegung mit threads Allgemeine Java-Themen 11
frankred Threads Auf eine Gruppe von Threads warten Allgemeine Java-Themen 11
J Eure Meinung: Threads verwenden, oder nicht? Allgemeine Java-Themen 6
K Warum wartet diese Funktion auf beenden des Threads? Allgemeine Java-Themen 3
F Mehrere Threads - ein Stack Allgemeine Java-Themen 6
O Wie kann ich das Ende eines Threads melden? Allgemeine Java-Themen 7
J Writer und Threads Allgemeine Java-Themen 2
G mehrere Threads starten/stoppen Allgemeine Java-Themen 4
E Verständnisfrage bezüglich Threads Allgemeine Java-Themen 4
K Zeitkritische Threads Allgemeine Java-Themen 14
K Threads - Swing - Synchronisation nötig? Allgemeine Java-Themen 8
S [THREADS] Thread sinnvoll beenden Allgemeine Java-Themen 2
P Buffer - Consumer Producer - Threads synchronisieren Allgemeine Java-Themen 15

Ähnliche Java Themen

Neue Themen


Oben