@Override
public void run()
{
Canvas canvas = null; // used for drawing {
while (threadIsRunning)
{
try
{
canvas = surfaceHolder.lockCanvas(null); // line 1
synchronized(surfaceHolder) // line 2
{ //do something .....
}
}
}
}
根据许多帖子和博客lockCanvas
将在画布上进行锁定,以便无法多次访问画布,并且使用synchronized block
以便没有其他线程
在画布上画画..
问题是,是否阻止其他线程通过锁定画布来强制它等待。 然后需要同步块,因为线程无法到达此块
答案 0 :(得分:-1)
我认为,如果lockCanvas
无法获得锁定,它将返回null
并继续执行。