Precisa de uma maneira interruptível de escutar pacotes UDP em um thread de trabalho
Estou desenvolvendo um aplicativo Google Glass que precisa escutar pacotes UDP em um segmento de trabalho (integrando-se a um sistema existente que envia pacotes UDP). Eu postei anteriormente uma pergunta (consulteaqui) e recebeu uma resposta que forneceu algumas orientações sobre como fazer isso. Usando a abordagem na outra discussão, terei um thread de trabalho bloqueado em DatagramSocket.receive ().
Outras leituras sugerem que eu preciso iniciar / interromper isso sob demanda. Então isso me leva à pergunta que estou postando aqui. Como posso fazer o que precede de forma a poder interromper (normalmente) a escuta do UDP? Existe alguma maneira de "agradàvel" pedir ao soquete para interromper a chamada receive () de outro thread?
Ou existe outra maneira de escutar pacotes UDP de maneira interrompível, para que eu possa iniciar / parar o segmento do ouvinte conforme necessário em resposta a eventos do dispositivo?