Criação de uma Thread

Boa noite galera.
Sou iniciante em Java e preciso criar um Thread para que o eu consiga ler os dados do Arduino e consequentemente mostrar na tela em tempo real. Como sou iniciante fiz várias tentativas e nenhuma correspondeu.

Abaixo o Código:
public class BluetoothDevices {

public static void main(String[] args) {


	try {
		String URL = "btspp://301411281471:1;authenticate=false;encrypt=false";
		
		OutputStream outStream;
		InputStream inStream;
			StreamConnection streamConnection = (StreamConnection) Connector.open(URL);
			outStream = streamConnection.openOutputStream();
			outStream.write('1');
			outStream.flush();
			outStream.close();
			inStream = streamConnection.openInputStream();
			
			int umidade = inStream.read();
			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");
			}
			inStream.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
}

}

Esse seu codigo, ele executa e voce gostaria de transforma-lo para threads, seria isso ?

Exato!

Acho que esse codigo pode resolver seu problema, não testei :slight_smile:, ele não trata choque de thread, não achei necessario, testa ai espero que ajude.

public class BluetoothDevices {

private static volatile int umidade;
private static volatile int agua;

public static void main(String[] args) {
	try {
		String URL = "btspp://301411281471:1;authenticate=false;encrypt=false";
		
		OutputStream outStream;
		InputStream inStream;
			StreamConnection streamConnection = (StreamConnection) Connector.open(URL);
			outStream = streamConnection.openOutputStream();
			outStream.write('1');
			outStream.flush();
			outStream.close();
			inStream = streamConnection.openInputStream();
			new Thread(() -> {
				while(true) {
					umidade = inStream.read();
					agua = inStream.read();
					wait(5);
				}
			}).start();
			
			new Thread(() -> {
				while(true) {
					System.out.println("Umidade" + umidade);
					if (agua==1){
					System.out.println("Caixa d'agua vazia");
					}
					if(agua==0){
						System.out.println("Água OK");
					}
					wait(5);
				}
			});
			inStream.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
}
}