簡體   English   中英

將OpenGL與Akka Actors一起使用:保證單個線程用於特定的actor

[英]Using OpenGL with Akka Actors: guaranteeing a single thread is used for a specific actor

我有一個Scala / Java OpenGL應用程序,我在其中使用Akka框架。 目前,我的OpenGL線程獨立於actor系統,因此我可以保證對OpenGL函數的調用始終來自單個線程。 這很重要,否則OpenGL會抱怨。

到目前為止,我不得不將OpenGL線程中的消息發送給系統中的actor,這非常有效。 我現在面臨着以相反的方式發送消息的需要,但當然我不能簡單地將OpenGL放在一個actor中,因為這將打破它從單個線程運行的要求。

另一種方法是手動使用隊列和鎖來進行actor和OpenGL線程之間的通信,但是我想知道是否有辦法將OpenGL調用放在一個特殊的Actor中,Akka將給予它一個保證。在單個線程中運行。

問候

您可以使用PinnedDispatcher每個actor使用單個線程。 根據文件:

這個調度程序為每個使用它的actor賦予一個獨特的線程; 即每個actor都有自己的線程池,池中只有一個線程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM