Método com retorno

Boa noite galera!
Seguinte, preciso criar um método que retorna a variável UMIDADE; Porém preciso fazer uma Thread para atualizar o valor da umidade a cada pouco tempo. (A umidade é lida através do Arduino);
É preciso fazer uma thread ou não a necessidade?

Ai vai o codigo:

package br.edu.pii.waterbit.bluetooth;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.microedition.io.Connector;
import javax.microedition.io.StreamConnection;
public class ConexaoBluetooth {


public static void main(String[] args) {
	String URL = "btspp://301411281471:1;authenticate=false;encrypt=false";
	int conexao=1;
	try {
		OutputStream outStream;
		InputStream inStream;
			StreamConnection streamConnection = (StreamConnection) Connector.open(URL);
			outStream = streamConnection.openOutputStream();
			inStream = streamConnection.openInputStream();
			while (conexao ==1){
			outStream.write('1'); // envia p/ arduino
			outStream.flush();
			int umidade = inStream.read(); // le a umidade do arduino
			int agua = inStream.read();
			System.out.println("Umidade" + umidade);
			if (agua==1){
			System.out.println("Caixa d'agua vazia");
			}
			if(agua==0){
				System.out.println("Água OK");
			}	
			}
			outStream.close();	
			inStream.close();
	} catch (IOException e) {
			System.out.println("Conexão falhou...");
			conexao=0;
			e.printStackTrace();
		}
	
     }
 }

Obs: Método main n é necessário.