Android java.lang.IllegalMonitorStateException: Objekt vor dem Warten nicht durch Thread gesperrt ()

Ich definiere ein globales statisches Objekt als Synchronisationssperre.

public static Object ConfirmationSynObj = new Object();

Die folgende Funktion habe ich geschrieben, aber sie löst eine IllegalMonitorStateException aus.

       synchronized (Config.ConfirmationSynObj) {
            new Thread(new Runnable() {

                @Override
                public void run() {
                    //this is a http request
                    appSignInfo = getAPKSignature(context, pkinfo.packageName);
                    Config.ConfirmationSynObj.notify();
                }
            }).start();
            try {
                Config.ConfirmationSynObj.wait();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

            if (appSignInfo == null) {
                return ret;
            }
        }

Weiß jemand, wie man ein Objekt oder eine Funktion sperrt, um die Parallelität zu verhindern?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage