我有一个使用Akka框架的Scala/Java OpenGL应用程序。目前,我的OpenGL线程与actor系统是独立的,所以我可以保证对OpenGL函数的调用总是来自单个线程。这很重要,否则OpenGL会抱怨。使用OpenGL与Akka Actor:保证单个线程用于特定角色
到现在为止,我不得不从OpenGL线程发送消息给系统中的角色,并且这种方式非常有效。我现在面临着需要以相反方式发送消息,但是我当然不能简单地将OpenGL放在一个actor中,因为这会打破它从一个线程运行的要求。
另一种方法是手动使用队列和锁定来执行者与OpenGL线程之间的通信,但是我想知道是否有办法将OpenGL调用放置在特殊的Actor中,由Akka保证在单线程中运行。
问候
你可以看到[这是如何为Swing做(https://gist.github.com/2941554)(这需要在事件分派线程渲染的所有工作发生) –