protected void _dealCmd()
    {
        String cmd = null;
        boolean needStartTask = false;
        
        //添加到命令行队列中，并判断是否需要开启任务
        _lockCmd();
        
        if(!_m_lCmdList.isEmpty())
        {
            //取第一个命令行
            cmd = _m_lCmdList.getFirst();
        }
        
        _unlockCmd();
        
        //获取处理队列
        ArrayList<_IALBasicServerCmdDealer> dealerList = getDealerList();
        
        if(null != cmd)
        {
            //非空才进行处理
            for(int i = 0; i < dealerList.size(); i++)
            {
                _IALBasicServerCmdDealer dealer = dealerList.get(i);
                
                if(null == dealer)
                    continue;
                
                try
                {
                    dealer.dealCmd(cmd);
                } 
                catch (Exception e)
                {
                    e.printStackTrace();
                }
            }
        }
        
        _lockCmd();
        
        //取出第一个命令行
        _m_lCmdList.pop();
        
        //判断命令行是否为空
        if(!_m_lCmdList.isEmpty())
            needStartTask = true;
        
        _unlockCmd();
        
        //原队列为空则注册任务开启对应操作的执行
        if(needStartTask)
            ALSynTaskManager.getInstance().regTask(new ALSynCmdDealTask());
    }