`

线程池:新建线程时要考虑是否有并发

    博客分类:
  • java
阅读更多

当我们使用创建一条线程时,是否有问题呢?

 

ServerSocket socket = new ServerSocket();

while(true){
         Socket s = socket.accept();//接受到socket请求后,创建一条线程进行操作
         new Thread(s).start();
}

 

代码没问题,但在并发量大,问题就出现了。

 

100个连接启动100条线程,1000000个连接能启动如此多线程吗?

 

 

没有开发过大并发的项目,对此没考虑过。今天一个同事问,才有所体会。建立一定数量的线程池,进行处理

 

int nThreads = 200;
ExecutorService pool = Executor.newFixedThreadPool(nThreads ) ;

while(true){
       pool.execute(new Runnable());
}
 

并发,线程同步上还有很多需要研究的东西~

 

下次再研究~

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics