基本线程类的代码:
/**
* Created by liwei on 16/7/19.
*/
public class MyRunnable implements Runnable {
@Override
public void run() {
for(int x=0;x<100;x++){
System.out.println(Thread.currentThread().getName() + ":" + x);
}
}
}
/**
* Created by liwei on 16/7/19.
* 线程池的好处:线程池里的每一个线程代码结束以后,并不会死亡。
* 而是再次回到线程池中成为空闲状态,等待下一个对象来使用。
*
* 如何实现线程的代码呢?
* 1、创建一个线程池对象,控制要创建几个线程对象
* public static ExecutorService newFixedThreadPool(int nThreads)
* 2、这种线程池的线程可以执行:
* 可以执行 Runnable 对象或者 Callable 对象代表的线程
* 做一个类实现 Runnable 借口
*
* 3、调用如下方法即可:
* Future<?> submit(Runnable task);
* <T> Future<T> submit(Callable<T> task);
* 4、我硬是要结束,可以吗?
* 可以。
*
*
*/
public class ExecutorsDemo {
public static void main(String[] args) {
// 创建一个线程池对象,控制要创建几个线程对象
ExecutorService pool = Executors.newFixedThreadPool(2);
// 可以执行 Runnable 对象或者 Callable 对象代表的线程
pool.submit(new MyRunnable());
pool.submit(new MyRunnable());
// 结束线程池
pool.shutdown();
}
}