Files
VisualSapfor/src/Common/Utils/InterruptThread.java
2023-09-17 22:13:42 +03:00

28 lines
934 B
Java

package Common.Utils;
import ProjectData.Project.db_project_info;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.util.concurrent.Callable;
public class InterruptThread extends Thread{
//------------
public static final String Eliminated = "Eliminated";
public InterruptThread(int sleep_ms, Callable action){
super(() -> {
File interruptFile = new File(db_project_info.interrupt);
try {
while (true) {
Thread.sleep(sleep_ms);
if (interruptFile.exists()) {
FileUtils.writeStringToFile(new File(Eliminated + " by INTERRUPT file"), "");
FileUtils.forceDelete(interruptFile);
action.call();
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
});
}
}