1、概念
将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。
请求方和接收方独立开来,请求一方不必知道接收一方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被执行、怎么被执行。
2、Runnable
public static class MyRunnable implements Runnable {
@Override
public void run() {
for (int i = 0; i < 5; i++)
System.out.println("My " + i + " Runnable");
}
}
public void goRunnable() {
Thread ta = new Thread(new MyRunnable(), "线程a");
Thread tb = new Thread(new MyRunnable(), "线程b");
ta.start();
tb.start();
}
Runnable接口的run方法可以实现不同的操作,Runnable就是一个“命令”,封装成一个Thread,即一个请求。