package com.narutohuo.xindazhou.core.executor

/**
 * 执行器接口
 * 线程池管理、异步任务执行、定时任务
 * 
 * 所有SDK模块通过此接口执行异步任务
 * 实现类由app模块提供
 */
interface IExecutor {
    /**
     * 在IO线程执行
     */
    fun executeIO(block: suspend () -> Unit)
    
    /**
     * 在主线程执行
     */
    fun executeMain(block: () -> Unit)
    
    /**
     * 延迟执行
     */
    fun executeDelayed(delayMillis: Long, block: () -> Unit)
    
    /**
     * 取消任务
     */
    fun cancel(taskId: String)
}

