转载请注明出处:http://blog.csdn.net/huaiyiheyuan/article/details/53887663
一、Executors 启动线程
1、newSingleThreadExecutor :
适用于在另一个线程中连续运行的任何事物(长期存货的任务),例如监听套接字的连接任务 TIJ1122, 如果向
SingleThreadExecutor提交了多个任务,那么这些人物将会排队,一个个执行
代码:
class MyRunnable implements Runnable {
final int id = taskId++;
@Override
public void run() {
System.out.print(" I AM " + id);
Thread.yield();
System.out.print(" I AM " + id);
Thread.yield();
System.out.print(" I AM " + id);
Thread.yield();
System.out.println(" I AM " + id);
Thread.yield();
}
}
ExecutorService exec = Executors.newSingleThreadExecutor();
for (int i = 0; i < 5; i++)
exec.submit(new Test().new MyRunnable());
exec.shutdown();
2、CachedThreadPool
ExecutorService exec = Executors.newCachedThreadPool();
FixedThreadPool类似