gsi*_*ard 4 java opengl multithreading scala akka
我有一个Scala/Java OpenGL应用程序,我在其中使用Akka框架.目前,我的OpenGL线程独立于actor系统,因此我可以保证对OpenGL函数的调用始终来自单个线程.这很重要,否则OpenGL会抱怨.
到目前为止,我不得不将OpenGL线程中的消息发送给系统中的actor,这非常有效.我现在面临着以相反的方式发送消息的需要,但当然我不能简单地将OpenGL放在一个actor中,因为这将打破它从单个线程运行的要求.
另一种方法是手动使用队列和锁来进行actor和OpenGL线程之间的通信,但是我想知道是否有办法将OpenGL调用放在一个特殊的Actor中,Akka将给予它一个保证.在单个线程中运行.
问候
您可以使用a为每个actor使用单个线程PinnedDispatcher.根据文件:
这个调度程序为每个使用它的actor赋予一个独特的线程; 即每个actor都有自己的线程池,池中只有一个线程.
| 归档时间: |
|
| 查看次数: |
717 次 |
| 最近记录: |