void Update(){ if (mapDataThreadInfoQueue.Count > 0) { for (int i = 0; i < mapDataThreadInfoQueue.Count; i++) { MapThreadInfo<MapData> threadInfo = mapDataThreadInfoQueue.Dequeue ();//Dequeue= the next thing in a queue threadInfo.Callback (threadInfo.Parameter); } } if (meshDataThreadInfoQueue.Count > 0) { for (int i = 0; i < meshDataThreadInfoQueue.Count; i++) { MapThreadInfo<MeshData> threadInfo = meshDataThreadInfoQueue.Dequeue (); threadInfo.Callback (threadInfo.Parameter); } } }