我需要一些关于在Android中处理三个线程的帮助。
一个线程是主线程,另一个是GLThread,还有一个是我创建的WorkerThread,用于更新游戏状态。
我的问题是它们都需要访问相同的游戏对象LinkedList。GLThread和WorkerThread仅从LinkedList中读取,因此没有问题,但偶尔主线程会添加另一个游戏对象到列表中。
我该如何管理这个问题?我尝试在涉及的函数前使用synchronized,但它会使应用程序变得非常缓慢。
由于某种原因,只捕获错误而不呈现或更新游戏状态,会导致它永久性地开始滞后。
是否有任何好的想法?
一个线程是主线程,另一个是GLThread,还有一个是我创建的WorkerThread,用于更新游戏状态。
我的问题是它们都需要访问相同的游戏对象LinkedList。GLThread和WorkerThread仅从LinkedList中读取,因此没有问题,但偶尔主线程会添加另一个游戏对象到列表中。
我该如何管理这个问题?我尝试在涉及的函数前使用synchronized,但它会使应用程序变得非常缓慢。
由于某种原因,只捕获错误而不呈现或更新游戏状态,会导致它永久性地开始滞后。
是否有任何好的想法?