我何时在Android游戏中同步方法或在我的方法中使用同步块?

时间:2010-03-14 00:46:13

标签: android opengl-es canvas synchronize

我正在考虑在Android中编写简单的图形代码,我注意到了一些synchronized()块。

这背后的原因是什么?我如何知道何时“同步”我的代码?

1 个答案:

答案 0 :(得分:26)

synchronized语句块通常用于并发编程(多线程应用程序),其中您的应用程序使用许多线程。作为Android游戏的一个例子,你可以有一个带有客户端处理的线程,另一个用于服务器,一个用于产生其他进程,等等。

关键字本身确保您的方法一次只能被访问一个线程,这使它们成为线程安全的。如果您的应用程序在不使用synchronized语句的情况下共享资源,则会冒deadlock发生的风险。

死锁将导致挂断,即进程挂起。应该不惜一切代价避免死锁,特别是处理移动电话处理器的大小。