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

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

 

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());
}
 

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

 

下次再研究~

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值