线程正在停止

时间:2012-03-22 04:37:45

标签: multithreading unity3d

我目前正在尝试在Unity 3D中运行单独的线程来使用A *计算长路径。我确实有线程运行,它不使用统一API,所以它不会导致任何冲突,但由于某种原因它似乎停止,我无法弄清楚为什么。

while(!_threadKilled)
{
    if(_flockers.Count > 0)//still flockers left to calculate a path for
    {
        Flocking flocking = _flockers.Peek();
        float x = _xPositions.Peek();
        float z = _zPositions.Peek();
       _flockers.Dequeue();
       _xPositions.Dequeue();
       _zPositions.Dequeue();
       flocking.FollowNewPath(_game.Pathfinding.CalculatePath(x,z,flocking.TargetTile));
            Thread.Sleep(500);
    }
}

我在更新功能中不断打印出线程的状态。当我在列表中添加一个单元时,它可以正常工作。当我向列表中添加多个单元时,线程似乎停止了。任何人都知道发生了什么事?

0 个答案:

没有答案