void Update() { if (mapDataThreadInfoQueue.Count > 0) { for (int i = 0; i < mapDataThreadInfoQueue.Count; i++) { MapThreadInfo <MapData> info = mapDataThreadInfoQueue.Dequeue(); info.action(info.param); } } if (meshDataThreadInfoQueue.Count > 0) { for (int i = 0; i < meshDataThreadInfoQueue.Count; i++) { MapThreadInfo <MeshData> info = meshDataThreadInfoQueue.Dequeue(); info.action(info.param); } } }