Я знаю, что вы можете прервать поток, созданный, скажем, из исполняемого класса, но как я могу прервать этот поток, который я создал из метода? Использование volatile boolean у меня не работает, поэтому я предполагаю, что либо есть лучший способ сделать это, либо мне нужно как-то его прервать. Я не хочу прерывать все темы, только эту.
Я создал метод, который запускает Thread следующим образом:
public static void StartSyncThread() {
new Thread() {
public void run() {
isRunning = true; // Set to true so while loop will start
while (isRunning) {
...
}
} // Close run()
}.start();
}
....
public static void KillSyncThread() {
isRunning = false;
}
isRunning
, оно будет скомпилировано только в том случае, еслиisRunning
объявлен какboolean
static для окружающего класса. - person Danny Daglas   schedule 19.08.2015isRunning
? Я предполагаю, что он объявлен статическим для окружающего класса. Может быть, вы случайно вставилиboolean
в строкуisRunning = true;
, а методrun()
не улавливает изменения какой-то другой переменнойisRunning
? - person Danny Daglas   schedule 19.08.2015KillSyncThread()
вызывается из внешнего класса статически. - person Ducksauce88   schedule 19.08.2015