Ale*_*zzi 11 android canvas opengl-es synchronize
我正在研究在Android中编写简单的图形代码,我注意到了一些synchronized()块.
这背后的原因是什么,我怎么知道什么时候应该"同步"我的代码?
Ant*_*ney 26
synchronized语句块通常用于并发编程(多线程应用程序),其中您的应用程序使用许多线程.作为Android游戏的一个例子,你可以有一个带有客户端处理的线程,另一个用于服务器,一个用于产生其他进程,等等.
关键字本身确保您的方法一次只能访问一个线程,这使它们成为线程安全的.如果您的应用程序在不使用synchronized语句的情况下共享资源,则存在发生死锁的风险.
死锁会导致挂起,即进程挂起.应该不惜一切代价避免死锁,特别是处理手机处理器的大小.