我有一个file upload
功能,其中用户可以在同一时间上传多发的文件,为良好的结果,我用Thread processing
这样Java的有效执行线程
Thread.start{
// do file processing 'cause it is a long running process
}
现在的问题是,每个文件上传system
将创建一个new Thread
,这将导致系统抖动和其他问题,所以现在我正在寻找一个解决方案,我可以创建一个Queue
来存储所有接收到的文件,并创建Thread
的最小编号(say 5 nos)
并对其进行处理并再次创建一组Thread
和进程。
所以对于我期待到GPars,Java Thread and Queue很快,但不知道这是有效的方法,什么是业已存在的良好解决方案
你已开始重新实现'ExecutorService'。也许现在可以切换到一个准备就绪的实施? – 2014-10-27 12:01:51
只需创建一个BlockingQueue类型的对象和5个有权访问该队列的对象,并在循环中调用queue.take()。没问题。你试过什么了? – 2014-10-27 13:23:28