Da andere RTSJ haben, werde ich kommentieren, dass die Synchronisation zwischen Echtzeit-und Nicht-Echtzeit-Code eine Reihe von Lösungen hat. RTSJ stellt wait-free queues für eine solche Kommunikation bereit. Es ist auch möglich, auf diesen oder anderen Warteschlangen aufzubauen und RTSJs AsyncEvent
und AsyncEventHandler
Abstraktionen zu verwenden, um die Kommunikation zu verwalten. Dies ist für Situationen geeignet, in denen Sie wirklich, wirklich, ein deterministisches Verhalten für den "Echtzeit" -Thread benötigen.
Wenn Sie Best-Effort-Verhalten akzeptieren können (versuchen Sie wirklich, Ihre Deadlines zu erreichen, aber die Welt fällt nicht auseinander, wenn Sie vermissen) Ich schlage vor, das Executor-Framework von the Java concurrency utilities sorgfältig zu erstellen. Eine sorgfältige Auswahl der Aufgabengrenzen, eine geeignete Warteschlangenrichtlinie (hier "geeignet" würde von mehr Details über Ihre Anwendung abhängen als Sie angegeben haben), und die Threadpool-Richtlinie erhält, was Sie brauchen.