Android-обработчик для пробуждения потока - PullRequest
4 голосов
/ 13 апреля 2011

У меня есть отдельный поток, который является цикличным потоком, который объявляет обработчик, как показано ниже:

class LooperThread extends Thread{
    Handler h = null;
    @Override
    public void run(){
        Looper.prepare();
        h = new MyHandler();
        Looper.loop();
    }
 }

И у меня также есть отдельная нить, которая спит. Код для myHandler синхронизируется с той же блокировкой, которую ожидает мой другой поток, а затем вызывает Notify после выполнения некоторой работы. Однако исходный поток ожидает, и обработчик не достигает сообщения, отправленного из отдельной службы обработчику. Я уверен, что сообщение отправляется из службы. Я понимаю, что обработчик создает очередь сообщений для потока, в котором он был построен, однако, если обработчик построен на отдельном цикле, не будет ли этот поток не спать, если исходный поток? Я пробовал handlerThread и несколько других альтернатив, но безрезультатно. Любая помощь будет принята с благодарностью. Спасибо.

...