gpt4 book ai didi

java - 将 OpenGL 与 Akka Actor 一起使用 : guaranteeing a single thread is used for a specific actor

转载 作者:搜寻专家 更新时间:2023-11-01 01:54:38 24 4
gpt4 key购买 nike

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

直到现在,我都必须从 OpenGL 线程向系统中的角色发送消息,而且效果很好。我现在面临以相反方式发送消息的需要,但我当然不能简单地将 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 - 将 OpenGL 与 Akka Actor 一起使用 : guaranteeing a single thread is used for a specific actor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13516752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com