Constructs a new Executor with the given provider which provides us with some sort of underlying thread execution mechanism where the tasks will actually be executed
Constructs a new Executor wuth the default provider
Submits the provided function as a task and returns a handle to it in the form of a future
Provides a task submission service upon which tasks can be submitted and a Future is returned as handle to that submitted task.
The underlying scheduling/threading mechanism is provided in the form of a Provider