Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当池线程开始执行和完成时,我有一个特殊的代码要执行。
我的意思是,A需要在线程开始执行actor代码之前调用initialize(),然后调用cleanup(),以初始化线程特定的资源(以数据库连接为例)和清理(关闭任何已经打开的连接) )
在线程范围内执行此操作会很棒。我正在考虑使用所有演员混合的特征,但在这个范围内,初始化是由演员进行的。我想如果我用线程来做的话,我会有更好的表现。
任何建议将不胜感激!
谢谢
特别是对于您的清理代码,您将遇到麻烦,因为没有可以使用的钩子。我建议使用 Actor 生命周期来模拟您的资源生命周期,即当您启动 Actor 并在 postStop 中关闭它时创建一个 DB 连接。然后,您无需使用 ThreadLocal 数据库句柄,而是将数据库查询发送到(池)参与者。不要担心自己的线程,这是 Akka 的工作。