重要线程代码

ExecutorService executor =Executors.newFixedThreadPool(1);

private volatileList<Future<Object>> runningFutures = newArrayList<Future<Object>>(writers.size());

private Thread taskThread = new Thread(newTaskRunner());

public static LinkedBlockingQueue<ExportTask>exportQueue = new LinkedBlockingQueue<ExportTask>();

class TaskRunnerimplements Runnable

    {

      @Override

        public void run()

        {

            while (true)

            {

                try

                {

                    if (finished)

                    {

                        currentTask =exportQueue.take();

                        finished = false;

                       executeTask(currentTask);

                    }

                }

                catch (Exception e)

                {

                    e.printStackTrace();

                }

            }

        }

猜你喜欢

转载自blog.csdn.net/wenzhihui_2010/article/details/44461395