11

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

这背后的原因是什么?我怎么知道什么时候应该“同步”我的代码?

4

1 回答 1

26

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

关键字本身可确保您的方法一次被一个线程访问,这使它们成为线程安全的。如果您的应用程序要在不使用synchronized语句的情况下共享资源,那么您将面临发生死锁的风险。

死锁会导致挂起,即进程挂起。应该不惜一切代价避免死锁,尤其是处理手机处理器的大小。

于 2010-03-14T01:45:59.893 回答