Тебе понадобятся две вещи. Вы хотите, чтобы ваш поток в реальном времени получал приоритет, и желательно, чтобы он управлялся таймером, чтобы вы получали (почти) периодические измерения. Затем вам понадобится ресурс, который можно использовать для передачи значений. Это может быть либо простой монитор с критическим разделом, чтобы поток таймера мог записывать в него, либо он может быть - и, скорее всего, лучше - как FIFO, чтобы поток GUI мог поглощать значения всякий раз, когда имеет циклы.
В Java GUI (по крайней мере, в Swing и аналогичных) уже запускает отдельный поток для взаимодействий с пользовательским интерфейсом, поэтому большая проблема заключается в настройке потока измерений. Взгляните на Runnables.