Android java.lang.IllegalMonitorStateException: object not locked by thread before wait()

后端 未结 4 776
夕颜
夕颜 2020-12-19 02:13

I define a global static object as a synchronization lock.

public static Object ConfirmationSynObj = new Object();

The following function i

4条回答
  •  盖世英雄少女心
    2020-12-19 02:36

     new Thread(new Runnable() {
    
                @Override
                public void run() {
    

    Above thread is not owning lock on ConfirmationSynObj object hence throwing IllegalMonitorStateException

    Use one more synchronized block inside run method

               @Override
                public void run() {
                synchronized (Config.ConfirmationSynObj) {
                    //this is a http request
                    appSignInfo = getAPKSignature(context, pkinfo.packageName);
                    Config.ConfirmationSynObj.notify();
                   }
                }
    

提交回复
热议问题