1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Threads in Java

Discussion in 'Programmieren' started by pilotbenjamin, Sep 4, 2006.

Thread Status:
Not open for further replies.
  1. Hallo zusammen,
    kann mir vielleicht jemand kurz erklären, was ein Thread in Java ist? Ich habe mal bei wikipedia geschaut, aber ich habe es nicht verstanden.
     
  2. L-ectron-X

    L-ectron-X Guest

    Ein Thread ist ein Programm, welches quasi parallel neben dem Hauptprogramm abläuft.
    Ein einfaches Beispiel ist eine Uhr. Dabei wird eine Klasse geschrieben, die von der Klasse Thread erbt und die run()-Methode überschreibt. In der run()-Methode steht, was der Programmfaden (also das Programm, welches neben dem Hauptprogramm läuft) machen soll.
    In dieser run()-Methode wird nun im Sekundentakt die Systemzeit ermittelt und das Hauptprogramm (meist ein GUI) darüber informiert, dass neue Daten zur Anzeige vorliegen.
    Das Hauptprogramm holt sich nun die Daten aus dem nebenläufigen Programmfaden und stellt sie bspw. auf einem Label dar.

    Immer noch Fragen?
     
  3. Danke für die Antwort! Vorerst habe ich dazu keine Fragen mehr.
     
  4. enschman

    enschman Megabyte

    Hi,

    ich programmier zwar nicht in Java, aber für eine Uhrzeitanzeige einen Thread zu verwenden ist meiner Meinung nach ein Ressourcenfresser...

    Threads sollten eigentlich dafür verwendet werden, um Funktionen aufzurufen, die entweder parallelisiert besser (effizienter oder was auch immer) ablaufen, oder wenn bei einem Programmschritt die GUI nicht einfrieren soll...

    Ich kenn mich zwar im Java-Lager nicht aus, wie man da mit Zeitintervallen umzugehen hat, aber zumindest in VB.net gibts dafür eine Timer-Komponente, was für eine Uhrzeitanzeige reichen würde...

    mfg Tenschman

    PS: Ich hatte mal in VB ein Programm mit Uhrzeitanzeige im Statusbereich geschrieben und hab die Systemzeit nicht nach jeder vollen Sekunde, sondern nach 100 ms abgefragt, da der Nutzer die Zeitverschiebung zur unteren Uhrzeitanzeige in der Taskleiste nicht bemerkt, 1 s ist meiner Meinung nach doch recht ungenau...
     
  5. micbur

    micbur Kbyte

    Threads sind zuerst leichtgewichtige Prozesse. Im Gegensatz zu vollwertigen (schwergewichtigen) Prozessen haben Threads keinen eigenen Adressraum, sondern sie laufen immer in Abhängigkeit eines Mutterprozesses.

    Threads benutzt man überall dort, wo man Nebenläufigkeit erzeugen möchte, aber nicht vollwertige Programme samt Interprozesskommunikation schreiben möchte. In C oder anderen 'älteren' Programmiersprachen müsste man ein 'fork' machen, damit aus einem Prozess zwei werden. Diese Prozesse könnten auch unabhängig voneinander funktionieren. Da aber ein Fork wieder ein vollwertiges Programm erzeugt, was viele Ressourcen benötigt, gibt es Threads.
     
  6. Ich danke euch für die ganzen Antworten!
     
Thread Status:
Not open for further replies.

Share This Page