Was bedeutet lockCanvas (ausführlich)

Ich bin gekommen, um Grafiken in Android zu zeichnen. Es gibt viele Beispielanwendungen, aber eine Sache, die ich immer sehe, ist lockCanvas. Kann es jemand näher erläutern, da ich es wirklich nicht verstehe und auch, weil ich denke, es ist wichtig, die zukünftige Programmierung zu verstehen?

Ein Beispiel

try { 
    c = panel_thread.getHolder().lockCanvas(null);
    synchronized (panel_thread.getHolder()) {
        panel_thread.update();
        panel_thread.onDraw(c);
    }
}

Das ist, was ich jetzt habe. Wie soll ich das richtig interpretieren? Was macht Synchronized? Warum ist es wichtig, das canvas-Objekt einem getHolder und lockCanvas zuzuweisen?

Dieser Teil ist auch verwirrend:

panel_thread.getHolder().unlockCanvasAndPost(c);

Warum ist das notwendig? Ich brauche wirklich eine genauere Erklärung. :)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage