多线程_线程池的概述和使用

来源:互联网 发布:被同性骚扰的经历知乎 编辑:程序博客网 时间:2024/05/04 12:05
package cn.itcast_08;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;/* * 线程池的好处:线程池里的每一个线程代码结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来使用。 *  * 如何实现线程池的代码呢? * A:创建一个线程池对象,控制要创建几个线程对象。 * public static ExecutorService newFixedThreadPool(int nThreads) * B:这种线程池的线程可以执行: * 可以执行Runnable对象或者Callable对象代表的线程 * 做一个类实现Runnable接口。 * C:调用如下方法即可 * Future<?> submit(Runnable task) * <T> Future<T> submit(Callable<T> task) * D:我就要结束,可以吗? * 可以。 */public class ExecutorsDemo {public static void main(String[] args) {// 创建一个线程池对象,控制要创建几个线程对象。// public static ExecutorService newFixedThreadPool(int nThreads)ExecutorService pool = Executors.newFixedThreadPool(2);// 可以执行Runnable对象或者Callable对象代表的线程pool.submit(new MyRunnable());pool.submit(new MyRunnable());// 结束线程池pool.shutdown();}}


package cn.itcast_08;public class MyRunnable implements Runnable {@Overridepublic void run() {for (int x = 0; x < 100; x++) {System.out.println(Thread.currentThread().getName() + ":" + x);}}}


线程池的优点1)避免线程的创建和销毁带来的性能开销。2)避免大量的线程间因互相抢占系统资源导致的阻塞现象。3}能够对线程进行简单的管理并提供定时执行、间隔执行等功能。

0 0
原创粉丝点击