我有一个Scala / Java OpenGL应用程序,我在其中使用Akka框架.目前,我的OpenGL线程独立于actor系统,因此我可以保证对OpenGL函数的调用始终来自单个线程.这很重要,否则OpenGL会抱怨.

到目前为止,我不得不将OpenGL线程中的消息发送给系统中的actor,这非常有效.我现在面临着以相反的方式发送消息的需要,但当然我不能简单地将OpenGL放在一个actor中,因为这将打破它从单个线程运行的要求.

另一种方法是手动使用队列和锁来进行actor和OpenGL线程之间的通信,但是我想知道是否有办法将OpenGL调用放在一个特殊的Actor中,Akka将给予它一个保证.在单个线程中运行.

问候

解决方法:

您可以使用PinnedDispatcher为每个actor使用单个线程.根据文件:

This dispatcher dedicates a unique thread for each actor using it;

i.e. each actor will have its own thread pool with only one thread in

the pool.

标签:java,multithreading,scala,akka,opengl

来源: https://codeday.me/bug/20190613/1231066.html

java actor和线程有什么区别_java – 在Akka Actors中使用OpenGL:保证单个线程用于特定的actor...相关推荐

  1. java线程挂起唤醒_JAVA并发(10)—interrupt唤醒挂起线程

    1.1 中断方法 在独占锁加锁过程中,我们看到,线程进入sync queue中后便调用park()方法将自己挂起.等待其他线程调用unpark()方法唤醒自己.那么当我们调用interrupt()方法 ...

  2. java字符流和字节流的区别_java字符流与字节流的区别是什么

    java中字符流与字节流的区别: 1.字节流操作的基本单元为字节:字符流操作的基本单元为Unicode码元. 2.字节流默认不使用缓冲区:字符流使用缓冲区. 3.字节流通常用于处理二进制数据,实际上它 ...

  3. Android中网络请求创建单个线程池的方法

    创建单个线程池的方法 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; impor ...

  4. Java传统的io和nio区别_Java中IO和NIO的本质和区别

    简介 终于要写到java中最最让人激动的部分了IO和NIO.IO的全称是input output,是java程序跟外部世界交流的桥梁,IO指的是java.io包中的所有类,他们是从java1.0开始就 ...

  5. java 策略模式和工厂模式区别_Java编程细节——什么是策略模式

    策略模式应该是Java设计模式中最简单的一种模式, 它的核心思想是,一个类的行为可以在运行时动态改变,有不同的实现逻辑. 其实具体的说,它也是基于面向接口编程的思想,通过定义不同的实现类逻辑来做到的. ...

  6. java可比较的和比较器的区别_Java中Compareable和Comparator两种比较器的区别

    对于JDK8而言,有三种实现对象比较的方法: 1.在需要比较的对象类中覆写Object类的equals()方法: 2.需要比较的类继承Comparable接口,然后在其类内部实现compareTo() ...

  7. java依赖和约束有啥区别_Java – Maven依赖关系太多了

    我一直在尝试设置最简单的简单hibernate应用程序,并且除了我平庸的思维方式之外,我无法让它运行. Maven很简单 – 在构建路径中添加依赖项,更新项目,blah blah blah yadda ...

  8. java静态类和非静态类的区别_Java中静态内部类和非静态内部类到底有什么区别?...

    内部类(Inner Class)和静态内部类(Static Nested Class)的区别: 定义在一个类内部的类叫内部类,包含内部类的类称为外部类.内部类可以声明public.protected. ...

  9. java kill 线程_java – 如何在等待中杀死正在运行的线程?

    当我试图杀死我的强盗线程时,有些人死了,但有些人陷入了wait()阻止,什么是杀死所有线程的更好方法,或者我如何让被阻止的线程被杀死? private int robberId; private st ...

最新文章

  1. 腾讯云无法绑定公网IP问题解释与解决方案。
  2. AutoFac Ioc依赖注入容器
  3. 我为什么选择使用容器?
  4. 科普:5G网络关键技术详解
  5. Linux运维之——每日小技巧,使用awk命令截取每行的指定列数据
  6. SAP UI5 fullScreenPageRoutes in Component.js
  7. HIT Software Construction Review Notes(1-1 Multi-Dimensional Views of Software Construction)
  8. arcgis sample代码之SOE示例代码PageLayout REST Server Object Extension 的源码分析
  9. 计算机专业基础 -- 数据结构入门与算法基础知识
  10. 抖音autojs 云控脚本源码
  11. 前端 debugger
  12. SpringIOC和DI简单总结
  13. 网易2018校园招聘编程题真题集合
  14. 送你4句口诀 云存储选型不再犯难
  15. 微信小程序开发笔记--07
  16. JPEG文件中默认Huffman表说明
  17. 【Excel】Excel学习笔记 -- 通配符的使用与定位条件
  18. springCloud 学习第一篇(介绍以及Rest 学习:服务者 与消费者 环境搭建)
  19. R语言中如何进行PCA分析?利用ggplot和prcomp绘制基因表达量分析图
  20. 小米推迟上市和A股大跌,背后有什么共同原因?

热门文章

  1. libcurl 发送邮件_结合MIME C++ library与CURL发送带附件的邮件
  2. python中options类_Python的OptionParser模块
  3. Milkyway database简析
  4. Linux下oracle em安装,关于在linux下手动安装oracle之后,安装em的问题
  5. Sublime Text 3 汉化
  6. android recover 系统代码分析 -- 选择进入
  7. c语言 正整数 几位 逆序,c语言经典例题:正整数求位数and求顺、逆序位数
  8. [转]-Sublime Text 3最好的功能、插件和设置
  9. Services in Kubernetes
  10. 关于 cocos2d-x win32 版本的 cpu 占用改良