Executor接口只有一個方法execute(Runnable command)
,它使得任務的提交和任務的運行解耦。在多線程編程中,Executor通常用來代替Thread類的建立new Thread(new(RunnableTask())).start()
java
Executor executor = anExecutor; executor.execute(new RunnableTask1());
Executor只是接口,須要Class去實現其中的execute()
方法。編程
ExecutorService接口繼承了Executor接口,且更加被普遍使用。它相比Executor接口,多了submit()
、shutdown()
、shutdownNow()
等方法。多線程
shutdown:已經被提交的任務能夠運行到結束,不接受新任務的提交
shutdownNow:正在運行的任務不能夠運行到結束,要立刻中止
submit:submit擴展了execute方法,它會返回Future。線程