工作中为什么要用多线程,它的好处,以及一个简单多线程实例。

本文探讨了在高并发环境下多线程的重要性,并解释了其在程序中的作用。通过一个简单的Java多线程实例,帮助读者深入理解如何在实际工作中应用多线程技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


 

在一个高并发的网站中,多线程是必不可少的。下面先说一下多线程在程序中的作用

1、提高前端请求的响应速度。当我们执行一个比较耗时的方法时,http请求得不到响应甚至会超时,这时如果业务上允许数据的延迟,我们可以使用多线程来进行处理比较耗时的方法。这样前端发送了请求,后端令开启了一个线程去处理任务,就不会阻塞主线程了。


2、减清服务器的压力。包括我们的web容器,如tomcat、jetty等,还有数据库服务器等。因为我们使用了多线程,并且线程池大小有限制,如30,那么同时请求数据库的链接就限制为30了,也就是说能够同时执行方法的线程只有30个,其余的任务都放在我们线程的任务队列了,这样数据库就不会被突然上来的请求给压垮了。当然对于缓解数据库压力来说,更建议使用消息队列,使用消息队列我们可以攒数据进行批量提交,而仅仅使用多线程,则不好实现攒数据的过程。


3、提高处理能力,增加性能,充分利用服务器资源。如我们要将三个表里的数据加载到缓存,最简单的我们一个表开启一个线程,共用三个线程去加载缓存则比用一个线程去挨着遍历三个表的数据高效的多。



下面给出一个简单使用多线程实例


/**
 * Created by hcmony on 2017/8/31.
 */
public class Test{

   //多线程要执行的方法
   public static void getInt(int i){
      System.out.println(Thread.currentThread().getName()+"-"+i);
   }

   static  class ThreadTest{
      public static void main(String[] args) throws Exception{
         //开启一个新线程去做另外的事情,比如我们公司是通过api加载其它的数据。
         new Thread(){
            @Override
            public void run() {
               for (int i=0;i<100000;i++) {
                  try {
                     getInt(i);
                  }catch (Exception e){

                  }
               }
            }
         }.start();

         //单线程要执行的方法
         for (int i=0;i<1000000;i++){
            System.out.println(i);
         }
      }
   }
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值