关于AsyncTask的问题
AsyncTask.execute函数执行的时候,内建了一个ThreadPoolExecutor来执行任务。
但是这里存在一个问题:当ThreadPoolExecutor内部的线程数量大于或者等于corePoolSize,而其队列未满的时候,调用AsyncTask.execute()会导致这个任务被放进队列,而非立即执行。
一个改进的方案是自己建立一个ThreadPoolExecutor,使用ArrayBlockingQueue,设置这个队列的容量为1(无法设置为0,回报非法参数的异常)。但是这样还是会有一个task无法立即执行,请问各位,有没有什么办法保证我的AsyncTask.execute可以立即得到执行?