agi*_*all 12 multithreading scala pool actor
我有一个使用全局线程池的现有java/scala应用程序.我想开始在项目中使用actor,但希望应用程序中的所有内容都使用相同的池.
我知道我可以设置actor使用但希望共享线程池的最大线程数.这是否必要/合理,是否可以指定actor的线程池?
如果不可能/推荐,在已经使用线程的应用程序中集成actor时是否有任何经验法则?
谢谢.
我相信你可以这样做:
trait MyActor extends Actor {
val pool = ... // git yer thread pool here
override def scheduler = new SchedulerAdapter {
def execute(block: => Unit) =
pool.execute(new Runnable {
def run() { block }
})
}
}
Run Code Online (Sandbox Code Playgroud)