# Interessanter IBM Artikel zum Thema Realtime Java



## Thomas Darimont (11. April 2007)

Hallo,

schaut mal hier:
http://www-128.ibm.com/developerworks/java/library/j-rtj1/index.html

Gruß Tom


----------



## zeja (12. April 2007)

Ja RealTime bräuchte ich auch gerade. Wenn man von nem Roboter mit Sensordaten nur so vollgeballert wird und die auch noch darstellen soll hängts aber eher am Single SWT Thread der nunmal das alles darstellen muss. Mehr als alle Berechnung möglichst ausserhalb des SWT Threads auszuführen fällt mir da leider zur Beschleunigung nicht mehr ein.


----------



## Thomas Darimont (12. April 2007)

Hallo,

also normalerweise macht man das auch so, dass man die Daten in einem separaten Thread abfragt welcher die Daten in einer Queue Stellt. Ein weiterer Thread macht dann über Display.asncExec(...) ein GUI Update mit einem entsprechend größen Häppchen der Daten aus der Queue.

Btw. die BEA JRockit JVM bietet einen "halbwegs" deterministischen GarbageCollector mit dem man "leichte" Echtzeit Anforderungen einhalten kann:
http://www.bea.com/content/news_events/white_papers/BEA_JRockit_Deterministic_GC_wp.pdf

Gruß Tom


----------



## zeja (12. April 2007)

Ein Thread? Hunderte... *g*


----------



## Thomas Darimont (12. April 2007)

Hallo,



> Ein Thread? Hunderte... *g*


Ein Thread per Event-Source ist nicht die einzige Lösung ;-) Insbesondere mit Non-Blocking IO ( java.nio ) kann man da auch mit einem Thread schon massig Performance herausholen.

Gruß Tom


----------



## zeja (12. April 2007)

Wenn ich wüsste was das Plugin dann in den Threads ausführt wäre das ne Möglichkeit. Aber bei nem Plugin kann ich das nunmal nicht wissen.


----------



## Thomas Darimont (12. April 2007)

Hallo,



> Wenn ich wüsste was das Plugin dann in den Threads ausführt wäre das ne Möglichkeit. Aber bei nem Plugin kann ich das nunmal nicht wissen.


Klar, aber das liese sich ja mit einer entsprechenden Schnittstellenbeschreibung / Spec zumindest formal lösen ;-) Aber du hast recht wenn man "Unbekannten" Code ausführt sollte man immer nach der Regel Safety-First vorgehen. Hört sich aber wieder mal sehr interessant an was du da treibst  Was für ein Roboter wirds diesmal? Seid ihr schon beim Terminator ? ;-)

Gruß Tom


----------



## zeja (12. April 2007)

Ist ja ne allgemeines Framework mit Oberfläche zur Steuerung eines Roboters die wir machen. Interessant ist das alles auf jeden Fall und im optimieren werde ich auch immer besser nur die Zeit wir immer weniger und die Simulation stürzt dauernd ab und und und....


----------



## Thomas Darimont (23. April 2007)

Hallo,

hier gibts nun auch Teil 2:
Diesmal zum Thema "Compilation Techniques"
http://www-128.ibm.com/developerworks/java/library/j-rtj2/index.html

Gruß Tom


----------



## Thomas Darimont (25. April 2007)

Hallo,

hier nun Teil 3: Threading and synchronization
http://www-128.ibm.com/developerworks/java/library/j-rtj3/index.html

Gruß Tom


----------



## Thomas Darimont (4. Mai 2007)

Hallo,

hier gibts nun noch Teil 4:
Real-time Java, Part 4: Real-time garbage collection
http://www-128.ibm.com/developerworks/java/library/j-rtj4/index.html

Gruß Tom


----------



## Thomas Darimont (13. Juni 2007)

Hallo,

hier nun mal Teil 5:
"Writing and deploying real-time Java applications"
http://www.ibm.com/developerworks/java/library/j-rtj5/

Gruß Tom


----------



## Thomas Darimont (17. Juli 2007)

Hallo,

hier gibts nun auch Teil 6:
"
*Real-time Java, Part 6: Simplifying real-time Java development*

_Introducing the Lifecycle Memory Managed Periodic Worker Threads pattern"_
http://www.ibm.com/developerworks/java/library/j-rtj6/

Gruß Tom


----------

