java线程池怎么做
并发访问10000个用户,想用java线程池的方式去接受这些数据
该怎么写,还的考虑数据的安全性,请各位高手指导
我的邮箱:yanshuailong8917@163.com
------解决方案--------------------是觉得J2EE应用中间件的线程池不够好么?还是其它啥原因?
------解决方案--------------------好奇楼主在做什么应用?会有这么大的并发访问。。。
------解决方案--------------------哇靠~ 1W啊~
叫公司下点血本,升级硬件拉倒~
------解决方案--------------------和LZ类似的需求 同求
------解决方案--------------------我猜是个web程序,web容器本身已经提供了线程池的功能,在一定程度的并发下,基本是一个请求一个线程去处理,根本无需线程池
商业的J2EE容器,如websphere,都提供了同时可处理请求的配置选项
------解决方案--------------------如果真是web程序,你在内部使用线程池也是无济于事的
------解决方案--------------------可以自己写一个缓冲系统,jdk5有很好的实现。可以参看我的博客http://blog.csdn.net/lb85858585,。里面提到condition使用
------解决方案--------------------1W。。。。。楼主是做什么工作的,这么大并发。。。如果是业务处理呢,建议你去看看工作流。。
------解决方案--------------------java自带的线程池已经很强大了,不需要自己再实现一个吧。不过感觉用Executors.new**的方式定义线程池,有时会导致任务队列不断增大,程序运行会越来越慢,发现像下面这样:
先new ThreadPoolExecutor(min_pool_size, max_pool_size, 1L, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(max_pool_size*2));直接这么定义线程池,包括定义任务队列的最大长度
然后在execute任务的时候捕获下RejectedExecutionException异常,这样能控制内存的使用,不至于让程序越跑越慢