Te refieres a que el receive del datagram sea en modo no bloqueante? creo que puedes usando DatagramChannel en vez del receive del socket
pon channel.configureBlocking(false) y échale un vistazo a este código http://www.java2s.com/Tutorial/Java/0320__Network/SetupDatagramChannel.htm
pon channel.configureBlocking(false) y échale un vistazo a este código http://www.java2s.com/Tutorial/Java/0320__Network/SetupDatagramChannel.htm