android 线程池使用

              1. newCachedThreadPool:线程池为无限大,当有用完线程,后面的线程就用用完线程,无有就新建。
//新建
ExecutorService cachedThreadPool=Executors.newCachedTheadPool()
//加入线程
cachedThreadPool.execute(...)
//尝试停止所有正在执行和等待的任务,并返回等待执行的任务的列表。
cachedThreadPool.shutdownNow()
//启动有序关闭,执行先前提交的任务,但不会接受新任务。
cachedThreadPool.shutdown()
        2.newFixedThreadPool:线程池有限,超出的线程会在队列中等待。
//新建
ExecutorService fixedThreadPool = Executors.newFixedThreadPool(//线程数,用Runtime.getRuntime().availableProcessors()获得虚拟机可用的处理器数,这里不能<=0
)
//加入线程
cachedThreadPool.execute(...)
//尝试停止所有正在执行和等待的任务,并返回等待执行的任务的列表。
cachedThreadPool.shutdownNow()
//启动有序关闭,执行先前提交的任务,但不会接受新任务。
cachedThreadPool.shutdown()
      3.newScheduledThreadPool:定长线程池,支持定时及周期性任务
//新建
ScheduledExecutorService scheduledThreadPool = Executors.newScheduledThreadPool(池中保留的线程数)
//加入 延迟 线程
cachedThreadPool.schedule(...TimeUnit.SECONDS//秒)
//加入 定期 延迟 线程
cachedThreadPool.scheduleAtFixedRate(...TimeUnit.SECONDS//秒)
//尝试停止所有正在执行和等待的任务,并返回等待执行的任务的列表。
cachedThreadPool.shutdownNow()
//启动有序关闭,执行先前提交的任务,但不会接受新任务。
cachedThreadPool.shutdown()
      4.newSingleThreadExecutor:单线程的线程池
//新建
ExecutorService singleThreadExecutor = Executors.newSingleThreadExecutor()
//加入线程
cachedThreadPool.execute(...)
//尝试停止所有正在执行和等待的任务,并返回等待执行的任务的列表。
cachedThreadPool.shutdownNow()
//启动有序关闭,执行先前提交的任务,但不会接受新任务。
cachedThreadPool.shutdown()
        5.newSingleThreadScheduledExecutor:单线程的线程池,,支持定时及周期性任务
//新建
ScheduledExecutorService SingleThreadScheduledExecutor= Executors.newSingleThreadScheduledExecutor()
//加入 延迟 线程
SingleThreadScheduledExecutor.schedule(...TimeUnit.SECONDS//秒)
//加入 定期 延迟 线程
SingleThreadScheduledExecutor.scheduleAtFixedRate(...TimeUnit.SECONDS//秒)
//尝试停止所有正在执行和等待的任务,并返回等待执行的任务的列表。
cachedThreadPool.shutdownNow()
//启动有序关闭,执行先前提交的任务,但不会接受新任务。
cachedThreadPool.shutdown()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值