Biraz geç olmuş olabilir ama umarım cevap, başka araştıranlara koyalık sağlar.
Aslında yapı basit, Thread'in çalıştıracağı kod Runnable olmalı ki "() -> { ... } " syntaxını yazmadan kullanabilesin.
Öncelikle Thread'ın içinde çalıştırmak istediğin kod parçasını Runnable yapıyoruz;
Runnable threadFunction = new Runnable() {
@Override
public void run() {
while (true)
try {
Thread.sleep(250);
System.out.println("Sleept");
} catch (InterruptedException ignored) {
}
//showMessage();
}
};
Sonrasında Thread'i tanımlayıp çalıştırması gereken kod parçasını atamamız gerekli;
Thread thread = new Thread(threadFunction);
thread.run();
while(true)
satırını değiştirmeyi unutma.