asyncio also supports legacy generator-based coroutines. Tasks are used to schedule coroutines concurrently. A Future is a special low-level awaitable object that represents an eventual result of an asynchronous operation.
간단하게 이야기 드리면 async는 코루틴에서 단일 쓰레드에서 멀티 작업을 위한 패턴이라고 보시면 됩니다.
Task는 각각의 병행처리를 위한 작업이구요. Futures 는 이러한 작업을 가능하게 해주는 메소드 혹은 객체