Casos de uso para Apex asíncrono

Partiendo del artículo anterior donde vimos como Salesforce gestiona la ejecución de los procesos asíncronos  veamos como seleccionar el/los método/s  más adecuado/s en casos de uso reales. Recordemos las posibilidades que tenemos: Utilización de la anotación @Future Implementación de la interfaz Schedulable Implementación de la interfaz Queueable Implementación de la interfaz Batchable