0

当池线程开始执行和完成时,我有一个特殊的代码要执行。

我的意思是,A需要在线程开始执行actor代码之前调用initialize(),然后调用cleanup(),以初始化线程特定的资源(以数据库连接为例)和清理(关闭任何已经打开的连接) )

在线程范围内执行此操作会很棒。我正在考虑使用所有演员混合的特征,但在这个范围内,初始化是由演员进行的。我想如果我用线程来做的话,我会有更好的表现。

任何建议将不胜感激!

谢谢

4

1 回答 1

0

特别是对于您的清理代码,您将遇到麻烦,因为没有可以使用的钩子。我建议使用 Actor 生命周期来模拟您的资源生命周期,即当您启动 Actor 并在 postStop 中关闭它时创建一个 DB 连接。然后,您无需使用 ThreadLocal 数据库句柄,而是将数据库查询发送到(池)参与者。不要担心自己的线程,这是 Akka 的工作。

于 2013-08-06T18:22:47.223 回答