Java之线程池

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

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

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

Executors工厂类产生线程池。

如何实现线程的代码:

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

public  static ExecutorsService newFixedThreadPool(int nThreads);

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

C:调用如下方法即可

Future submit(Runnable task);

Future submit (Callable task);

D 如何结束线程池

shutdown();

例子:

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

ExecutorsService pool=Executors.newFixedThreadPool(2);

//使用线程池

pool.submit(new myRunnable());

pool.submit(new myRunnable());

//结束线程池

pool/shutdown();

你可能感兴趣的:(Java之线程池)