Esperar conexão socket em determinado periodo de tempo

Pessoal criei uma aplicação CRUD em java para desktop e a mesma tem uma aplicação socket. Ao ativar um evento a aplicação espera uma conexão socket e apos recebe-la envia informações adquiridas no banco. O problema é que quando eu ativo esse evento e a conexão não acontece a aplicação trava, fica esperando eternamente, até fechar não aceita, como faço deixar essa conexão aberta por determinados segundos e depois fecha-la?

Você precisa de uma nova Thread.

Exemplo: http://www.devmedia.com.br/articles/post-4459-Utilizando-Threads-parte-1.html

[]'s