如何在Scala中执行单线程dll/com消息传递?(演员)

如何在Scala中执行单线程dll/com消息传递?(演员),scala,actor,single-threaded,Scala,Actor,Single Threaded,我正在尝试设置Canon的EDSDK来控制Eos摄像头,并且至少需要通过Windows中的User32 Get/DispatchMessages api回调来处理it事件处理程序 事件调度需要: 循环以持续发送消息 在中初始化SDK的同一线程中发生 这基本上需要一个单线程命令receiver/messagedispatcher线程,正如在中设置的线程所示 因此,考虑到Scala的参与者非常适合接收来自多线程的消息(我最终可能会这么做),那么让单线程访问Canon sdk和Windows User

我正在尝试设置Canon的EDSDK来控制Eos摄像头,并且至少需要通过Windows中的User32 Get/DispatchMessages api回调来处理it事件处理程序

事件调度需要:

循环以持续发送消息 在中初始化SDK的同一线程中发生 这基本上需要一个单线程命令receiver/messagedispatcher线程,正如在中设置的线程所示

因此,考虑到Scala的参与者非常适合接收来自多线程的消息(我最终可能会这么做),那么让单线程访问Canon sdk和Windows User32 API的最佳方式是什么


我完全开放和感兴趣的!如果这有帮助的话

你看过吗?我没有看过。我将尝试一下,但我还不知道我在用阿克卡做什么……啊。我似乎完全误解了演员;我还以为他们是有线程池的多线程生物。现在我理解他们是一个工人,使用队列在线程池中的每个类一次执行一个。所以实际上,参与者已经是单线程的;但是不同的消息可能在不同的线程上执行。