美文网首页
Java之线程池

Java之线程池

作者: 流年划破容颜_cc55 | 来源:发表于2018-01-24 15:58 被阅读10次

    程序启动的过程中,如果产生新的线程,涉及到的成本是比较高的。因为要涉及到与操作系统的交互。而使用线程池可以很好的提高性能,尤其是当程序中要创建大量生存期很短的线程时,更应该考虑使用线程池。

     线程池里的每一个线程代码结束后,并不会死亡,而是再次回到线程池成为空闲状态,等待下一个对象的使用。

    在JDK5之前,我们必须手动实现自己的线程池,从JDK5之后,Java内置支持线程池。

    Executors工厂类产生线程池。

    如何实现线程的代码:

    A :创建几个线程的对象,控制要创建几个线程。

    public  static ExecutorsService newFixedThreadPool(int nThreads);

    B :这种线程池的线程可以执行 Runnable对象,或者 Callable(这种创建线程的方法要依赖于线程池)对象

    C:调用如下方法即可

    Future <?> submit(Runnable task);

    <T>Future<T> submit (Callable<T> task);

    D 如何结束线程池

    shutdown();

    例子:

    //创建2个线程的线程池

    ExecutorsService pool=Executors.newFixedThreadPool(2);

    //使用线程池

    pool.submit(new myRunnable());

    pool.submit(new myRunnable());

    //结束线程池

    pool/shutdown();

    相关文章

      网友评论

          本文标题:Java之线程池

          本文链接:https://www.haomeiwen.com/subject/sbbeaxtx.html