Akka中的自定义线程逻辑

时间:2013-08-06 15:54:43

标签: scala akka

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

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

在线程范围内完成它会很棒。我想在所有演员混合的特性中做,但在这个范围内,初始化是由演员。如果我通过线程制作它,我想我会有更好的表现。

任何建议都将不胜感激!

由于

1 个答案:

答案 0 :(得分:0)

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