Programm für parallele bearbeitung

Status
Nicht offen für weitere Antworten.

Solna

Mitglied
Guten Morgen,

Ich habe ein Problem, das mein Programm zu langsam ist. Oder die Bearbeitungszeit liegt
an der Artikelmenge. Es geht darum, dass ich aus der Datenbank für jeden Artikel einzelne Berechnungen
durchführe, und dann die Ergebnisse summiere.
Meine Frage ist:
Könnte man in java das Programm so schreiben, dass es mir die Berechnungen nicht für jeden
Artikel sequentiell, sondern für mehrere Artikel parallel durchführt.
(Angenommen ich habe mehrprozessor Rechner).

Wenn ja, wie soll es ungefähr aussehen (den Quellcode)?
Für die Antwort wäre ich sehr dankbar.
Mfg Solna
 

FArt

Top Contributor
Ob ein Problem parallelisierbar ist oder nicht hängt in diesem Fall nicht von der Programmiersprche ab, sondern von dem Problem an sich.

Der kurzen Beschreibung nach: ja, das geht. Siehe dir mal die Tutorials von SUN bezüglich Threads an, vielleicht noch bzgl. dem Package java.util.concurrent . Das sollte ein guter Einstieg sein.
 

ARadauer

Top Contributor
Es geht darum, dass ich aus der Datenbank für jeden Artikel einzelne Berechnungen
durchführe, und dann die Ergebnisse summiere.
ich gehe stark davon aus, dass dein flaschenhals nicht die berechnung sondern der zugriff auf die datenbank ist
 

Solna

Mitglied
Ja, das ist auch war (mit Flaschenhals).

Ich benutze MySQL und greife mit ODBC.

Könnte man auch hier vielleicht irgendwie beschleunigen?
Auf meinem Rechner zu Hause läuft es 30 mal schneller (Core 2 Duo) und hier habe ich Pentium 4.

Noch eine Frage:
geht es auch auf P4 schneller, wenn ich mit Threads schreibe, oder nur mit Mehrprozessoren?

Danke. Solna :roll:
 

ARadauer

Top Contributor
Ich benutze MySQL und greife mit ODBC.
warum nicht direkt über jdbc?

poste mal ein bisschen code vom lesen daten, und vom berechnen der daten?

wie viel ließt du den? ließt du für jede berechnung? woher hast du die connection? wo liegt die datenbank?
 

Solna

Mitglied
das ist mein Connector (geht es auch anders?):
Code:
 String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
        String url= "jdbc:odbc:dbank";
        String username="";
        String password = "";
        Class.forName(driver);
        return DriverManager.getConnection(url, username, password);

Dann greife ich auf eine Tabelle:
Code:
 ResultSet datengesamt = st1.executeQuery("Select nachschub_datum, nab_kunde_stk," +
                "nab_nachschub_stk, lib_stk,  umfuhren_stk, umfuhren_neu_stk, retouren_eingelagert_stk," +....

und speichere die Inhalte für jede Spalte in Arrays:

Code:
while(datengesamt.next()){
        
        nab[i]= Integer.parseInt(datengesamt.getObject(2).toString());
        nabnach[i]= Integer.parseInt(datengesamt.getObject(3).toString());
        lib[i]= Integer.parseInt(datengesamt.getObject(4).toString());
        umf[i]= Integer.parseInt(datengesamt.getObject(5).toString()); 
        umfneu[i]= Integer.parseInt(datengesamt.getObject(6).toString());....

und dann führe ich die Brechnungen. Das alles ist in einer Schleife, die solange läuft, bis alle
Artikel dran waren))

Datenbank liegt auf C:\

Dankeschön
 

Marco13

Top Contributor
Kenn' mich mit DB-Zeux nicht so aus, aber
nab= Integer.parseInt(datengesamt.getObject(2).toString());
sieht komisch aus - IST das, was bei getObject(2) zurückgegeben wird, vielleicht schon ein Integer? Ggf. sollte es da ein
nab= (Integer)datengesamt.getObject(2);
schon tun - das würde u.U. VIEL Rechenzeit sparen (Integer.toString und Integer.parseInt sind SEHR aufwändig...)
 

Solna

Mitglied
o! ich danke auch sehr,

das mit .getInt habe ich nicht gewusst!!)

Und dann mit My SQL Connector, was soll ich dann hier schreiben?:

String driver = "??????";
String url= "??????";

Und hoch eine Frage:
wäre es dann sinnvoll mit threads für einprozessorrechner zu programmieren?
 
G

Gast2

Gast
Moin,

Solna hat gesagt.:
wäre es dann sinnvoll mit threads für einprozessorrechner zu programmieren?
ja ... dann verteilt das BS Deine Threads automatisch bei mehreren Kernen

hand, mogel
 

FArt

Top Contributor
Solna hat gesagt.:
Und hoch eine Frage:
wäre es dann sinnvoll mit threads für einprozessorrechner zu programmieren?
Noch mal zum Anfang: wenn der Prozess sinnvoll paralellisierbar ist, dann bringt das in der Regel auch was auf einer Maschine mit einem Prozessor.

Wenn du aber suboptimal implementiert hast und der DB Zugriff langsam ist (oder andere Problemchen), ist parallelisiern kein Ansatz. Wenn die Berechnungen entsprechend aufwendig sind, dann schon.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Formel für Sonnenwinkel in ein Programm überführen Allgemeine Java-Themen 11
S Java-Programm für "Börsenanalyse" schreiben Allgemeine Java-Themen 4
I Einstellungen für ein Programm speichern Allgemeine Java-Themen 5
G Design Patterns für Programm Allgemeine Java-Themen 3
S Brauche Hilfe bei Planung für JAVA-Programm Allgemeine Java-Themen 3
J Programm für GUI und Webbrowser Allgemeine Java-Themen 2
J Installer für Java-Programm Allgemeine Java-Themen 5
MQue aktuelle Wetterdaten für Java- Programm Allgemeine Java-Themen 9
oltoko PID für das laufende Java Programm herausfinden Allgemeine Java-Themen 3
P Installationsroutine für eigenes Java-Programm Allgemeine Java-Themen 3
F VideoIntro für mein Programm Allgemeine Java-Themen 2
D Programm für Java2D Allgemeine Java-Themen 11
G Programm für Onlinespiel Allgemeine Java-Themen 6
J Programm für verschiedene Betriebssystem vertreiben? Allgemeine Java-Themen 10
C Mehrere Instanzen für einen Programm Allgemeine Java-Themen 3
G UML Programm für Eclipse Starten Allgemeine Java-Themen 3
M Frage über Programm (IDE für Anfänger) Allgemeine Java-Themen 6
Jose05 Umgang mit Exceptions in einen Programm Allgemeine Java-Themen 2
E Output Fehler (Java-Programm Kuchen) Allgemeine Java-Themen 11
S Java Programm lässt sich vom USB-Stick starten, aber nicht von HDD Allgemeine Java-Themen 16
R Programm führt Methoden gleichzeitig aus Allgemeine Java-Themen 2
T Der Aufruf von CMD-Programm Allgemeine Java-Themen 30
A Java Programm erstellen hilfe Allgemeine Java-Themen 10
Mike80 Processing Programm fiert ohne Arduino ein Allgemeine Java-Themen 2
B Mysteriöse Ergebnisse beim Baccarat Programm? Allgemeine Java-Themen 13
districon Programm zum Durchsuchen von (Ebay-)Artikeln Allgemeine Java-Themen 1
T Addons im eigenen Programm Allgemeine Java-Themen 1
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
S .exe Datei/Programm auslesen? Allgemeine Java-Themen 2
Alex_99 Programm stürzt beim Aufruf der Funktion ab? Text ausgeben Allgemeine Java-Themen 45
B Java Programm auf virutellem Desktop laufen lassen? Allgemeine Java-Themen 1
L Java überprüfen lassen, ob sich ein gegebener Pfad / das Programm an sich auf einer CD oder Festplatte befindet Allgemeine Java-Themen 14
Tiago1234 Warum hängt sich mein Programm auf? Allgemeine Java-Themen 22
D Programm designen Allgemeine Java-Themen 1
S Folgendes Problem bei einem Programm Allgemeine Java-Themen 1
J c Programm läuft nicht in compilierter Version des Java Projektes Allgemeine Java-Themen 7
O 2D-Grafik BioFarben-Programm soll auf Vollbild schalten Allgemeine Java-Themen 1
S Nachrichten Filter Programm Allgemeine Java-Themen 14
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
T Hilfe bei Programm. IDE: Eclipse mit EV3-Plugin, lejos Allgemeine Java-Themen 8
Lukas2904 Swing Anzeigen lassen das das Programm geschlossen wurde Allgemeine Java-Themen 3
TechnikTVcode Mail Programm Allgemeine Java-Themen 2
S Programm entwickeln, welches ein Dreieckspuzzle lösen kann Allgemeine Java-Themen 5
R Lesen von Interfaces (Programm Vervollständigen) Allgemeine Java-Themen 10
Dann07 Java-Programm findet DLLs nicht! Allgemeine Java-Themen 20
OSchriever Linux-Programm öffnen Allgemeine Java-Themen 6
P USER Management in SQL übergreifend auf JAVA Programm Allgemeine Java-Themen 41
L Eclipse Konsole im exportierten Programm Allgemeine Java-Themen 2
OSchriever Programm über Linux-Kommandozeile ausführen Allgemeine Java-Themen 20
D Verkauf von einem Programm welches ich in Java geschrieben habe Allgemeine Java-Themen 4
M Programm erkennt String aus .txt Datei nicht Allgemeine Java-Themen 3
P Erstelltes Programm ist doppelt so groß Allgemeine Java-Themen 11
N Programm nach Abschluss neustarten lassen Allgemeine Java-Themen 6
S Einfaches Programm programmieren Allgemeine Java-Themen 5
M kleines KI Programm Idee Allgemeine Java-Themen 7
D Boolean von ein anderem Java Programm während der Laufzeit ändern Allgemeine Java-Themen 23
L Excel Datei löscht sich selbst im Programm - Java Allgemeine Java-Themen 3
I File ausführen und mein Programm bearbeiten lassen Allgemeine Java-Themen 11
ralfb1105 Starten Java App(s) (.jar) aus einem Java Programm Allgemeine Java-Themen 18
temi Java Programm aus einer DB laden und starten Allgemeine Java-Themen 2
N Programm startet nicht, nur per cmd Allgemeine Java-Themen 5
J Programm zum Suchen eines Wortes im Dateisystem Allgemeine Java-Themen 4
E Java Programm mit Clients erweitern - Möglichkeiten? Allgemeine Java-Themen 2
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
M Dieses Programm schneller machen? Allgemeine Java-Themen 2
R Programm zur Rekursion Allgemeine Java-Themen 5
N Quicksort Programm hängt sich auf Allgemeine Java-Themen 6
S Compiler-Fehler Programm verhält sich in Eclipse anders Allgemeine Java-Themen 1
B Input/Output Programm zum Auslesen/Beschreiben von Textdateien, wie Geschwindigkeit erhöhen? Allgemeine Java-Themen 18
dereki2000 Programm veröffentlichen Allgemeine Java-Themen 14
mrbig2017 Threads Chat Programm mit Threads? Allgemeine Java-Themen 2
M Suche aktuelle Apache Poi Bibliothek zum Einbinden in mein Programm Allgemeine Java-Themen 2
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Java Programm (Spiel mit den Boxen) Allgemeine Java-Themen 1
kodela Programm hängt in der Ereigniswarteschlange Allgemeine Java-Themen 13
A Java Programm verbessern/vereinfachen Allgemeine Java-Themen 20
P Programm darf nicht mehrfach startbar sein Allgemeine Java-Themen 16
S Programm hängt sich manchmal (selten) auf Allgemeine Java-Themen 9
JavaNewbie2.0 Programm nicht im Taskmanager schliesen können Allgemeine Java-Themen 15
J XML Datei mit installiertem Programm öffnen Allgemeine Java-Themen 7
Arif Input/Output Dateien im Jar-Programm speichern Allgemeine Java-Themen 12
H Java FX 2 Fragen um Programm in mehrere sprachen zu übersetzen in Gluon Framwork Allgemeine Java-Themen 3
JavaNewbie2.0 Programm bleibt "stehen" Allgemeine Java-Themen 2
JavaNewbie2.0 Start eines Anderen Programm erkennen Allgemeine Java-Themen 6
E Mit Java ein Python Programm starten Allgemeine Java-Themen 20
Q-bert Daten von Java Programm speichern Allgemeine Java-Themen 4
Aruetiise Methoden .jar mit Programm öffnen Allgemeine Java-Themen 2
C anderes Programm schließen! Allgemeine Java-Themen 5
C Webseiten Programm problem Allgemeine Java-Themen 5
E Programm auf Installation prüfen Allgemeine Java-Themen 1
J Programm zum Download von CSV-Dateien Allgemeine Java-Themen 4
E Programm ohne Windowsrand(Vollbild) ? Allgemeine Java-Themen 5
G Programm, das nach abgearbeiteter main Methode weiterläuft Allgemeine Java-Themen 72
P Schnittstelle java Programm zu Webserver / Browser Allgemeine Java-Themen 2
J Schutz Programm Jar Exe Allgemeine Java-Themen 7
R javax.comm --> Programm funktioniert nach Export nicht mehr Allgemeine Java-Themen 0
Blender3D Java Swing Programm Windows 10 Autostart Problem Allgemeine Java-Themen 2
U Input/Output Warum wirft mir das Programm diesen Fehler? Allgemeine Java-Themen 6
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
B Programm updaten mit FXLauncher Allgemeine Java-Themen 1

Ähnliche Java Themen

Neue Themen


Oben