Пример #1
0
        // Callback<params object[] args>
        public void PushExcute <T0>(Callback <T0> cb, T0 t)
        {
            bool newTaskFailed           = true;
            SimplePool <Task <T0> > pool = mTaskTypePools.GetOrNew <SimplePool <Task <T0> > >();

            if (null != pool)
            {
                Task <T0> task = pool.Alloc();
                if (null != task)
                {
                    task.Init(cb, t);
                    mTaskMaskQueue.Enqueue(task.Run);
                    newTaskFailed = false;
                }
            }
            if (newTaskFailed)
            {
                mTaskMaskQueue.Enqueue(() =>
                {
                    cb(t);
                });
            }
        }
Пример #2
0
 public void InitPool(SimplePool <T> associatedPool)
 {
     mAssociatedPool = associatedPool;
 }
Пример #3
0
 public IPoolObject()
 {
     mAssociatedPool = null;
 }
Пример #4
0
 public EventSystem2()
 {
     mEventHandlerMap = new Dictionary <int, List <EventHandler2> > ();
     mEventPool       = new SimplePool <Event2> ();
     mFiredEventList  = new List <Event2> ();
 }