Hallo
Ich bräuchte mal etwas Hilfe zwecks Softwareentwicklung. Es geht um eine Schaltung mit einem Mikrocontroller, der per FT232 mit einem Java-Programm redet. Jetzt geht es um das Java-Programm.
Ich will die direkte Kommunikation in einem eigenen Thread laufen lassen, das Datenaufkommen kann erheblich werden (ich will versuchen mehrere MBaud hinzukriegen, mal sehen wieviel geht). Dieser Thread hat nicht viel weiter zu tun als auf Daten zu warten, CRC berechnen und zurücksenden, Auszeit überwachen. Und das in beide Richtungen.
Reicht da sowas?
Code:
@Override
public void run(){
while(true){
//Hier die Kommunikationsauswertung/CRC-Prüfung/usw...
}
}
Ich will den Thread nicht 1ms (weniger geht anscheinend nicht) schlafen legen, das erscheint mir doch ein wenig viel. Allerdings muß der Thread im Leerlauf auch nicht die CPU voll auslasten.
Könnte das so funktionieren? Hat jemand noch andere Tipps für mich?
Das ist mein erstes "ernsthaftes" Java-Programm, mit Multi-Threading (und einigen anderen Dingen) hab ich mich in der Praxis noch nie beschäftigt, und doch hab ich da recht hohe Ansprüche an meine Arbeit.
Edit:
Ich hab grad etwas über Demonthreads gelesen. Ist es eine gute Idee, Threads mit solchen Aufgaben als Dämon laufen zu lassen? Wie geht das in Java? Ich hab das Runnable-Interface implementiert und nicht von der Thread-Klasse geerbt. Funktioniert das da auch?
Lesezeichen