使用Erlang,我该如何实现java线程池?
与Java API类似,ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, RejectedExecutionHandler handler)
我可以定义核心线程,杀死线程的时间,并将策略定义为放弃/拒绝任务。
我使用此池向其他服务发送http请求。如果远程服务器关闭,Java系统仍将保持稳定。
我尝试了Erlang Gen_server
和用户gen_server:cast
来处理请求。
gen_server
it will control the process and make the system stable.
问题是
1. how to kill the process if it take too long?
2. how define policy to discard/reject request?
3. is that possible to limit the total process?
答案 0 :(得分:0)
我建议您查看Github上标记为worker-pool
的{{1}} topic。我觉得erlang
可能适合您。它既有一个需求(请参阅超支),也有三个需求(请参见尺寸)。