Итак, у меня есть два файла, первый - класс swing, а второй - класс потока. Когда я запускаю поток, потому что по какой-то причине он не запускается, я попытался разместить некоторые инструкции для печати, чтобы увидеть, будет ли моя программа когда-либо появляться, но ни одна из них не запускалась.Программа не выполняет нить
Моего класс резьбы
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
class CheckFiles implements Runnable {
public void run() {
while (!UserInterface.stop) {
try {
String line;
BufferedReader b = new BufferedReader(new FileReader(UserInterface.location));
while((line = b.readLine()) != null) {
System.out.println(line);
}
} catch (IOException e) { System.out.println(e); }
}
}
}
В моем пользовательском интерфейсе класса я начинаю метод, выполнив следующие действия
System.out.println(stop); //prints true
loadFile.setEnabled(false); //not important
status.setText("Checking Files"); //not important
stop = false;
System.out.println(stop); //prints false
new CheckFiles(); //start thread
Есть ли что-то, что мешает моей нить работает или я это делаю неправильно?
Небольшой намек: убедитесь, что 'UserInterface.stop' является volalaile, потому что вы используете переменную в двух разных потоках без синхронизации. – Vertex