private void Update()
 {
     for (int i = m_jobs.Count - 1; i >= 0; --i)
     {
         JobContainer jc = m_jobs[i];
         lock (jc.Lock)
         {
             if (jc.IsCompleted)
             {
                 try
                 {
                     jc.RaiseCompleted();
                 }
                 finally
                 {
                     m_jobs.RemoveAt(i);
                 }
             }
         }
     }
 }