码迷,mamicode.com
首页 > 其他好文 > 详细

AsyncTask简单介绍

时间:2017-02-17 00:17:43      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:ble   seconds   return   catch   ide   lex   png   tac   exception   

AsyncTask = Handler + ThreadPoolExcutor 线程池

线程池:如果再来任务的话,队列中的容量放不下了,线程池就会重现创建一个线程处理新来的任务。

如果总线程数量超过128 就会出异常。

技术分享

 

public class ThreadPoolTest {  //线程池
    private static final int CORE_POOL_SIZE = 5;
    private static final int MAXIMUM_POOL_SIZE = 10;
    private static final int KEEP_ALIVE = 1;

    private static final BlockingQueue<Runnable> sWorkQueue =
            new LinkedBlockingQueue<Runnable>(10);

    private static final ThreadFactory sThreadFactory = new ThreadFactory() {
        private final AtomicInteger mCount = new AtomicInteger(1);

        public Thread newThread(Runnable r) {
            return new Thread(r, "AsyncTask #" + mCount.getAndIncrement());
        }
    };
    private static final ThreadPoolExecutor sExecutor = new ThreadPoolExecutor(CORE_POOL_SIZE,
            MAXIMUM_POOL_SIZE, KEEP_ALIVE, TimeUnit.SECONDS, sWorkQueue, sThreadFactory);

    public static void main(String[] args){
        for (int i = 0; i < 21; i++) {
            sExecutor.execute(new MyTask());
        }
    }
    private static final AtomicInteger taskCount = new AtomicInteger(1);
    static class MyTask implements Runnable{
                //任务
        int taskId = 0;

        public MyTask() {
            taskId = taskCount.getAndIncrement();
        }

        @Override
        public void run() {
            int count = 1;
            while (count<5){
                count++;
                try {
                    Thread.sleep(3000);
                    System.out.println(Thread.currentThread().getName()+"=执行="+taskId);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

 

AsyncTask简单介绍

标签:ble   seconds   return   catch   ide   lex   png   tac   exception   

原文地址:http://www.cnblogs.com/Oldz/p/6407683.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!