[英]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.