[英]JAVA: How to stop fetching data from API when thread is interrupted?
当我单击开始按钮时,我从twiter api获取数据
单击取消按钮会中断线程,但我仍然从twitter api获取数据。
线程中断后如何停止从Twitter API获取数据?
TryuingRunncabble类:
public class TryuingRunabble implements Runnable {
ConnectTwitter coT;
@Override
public void run() {
// TODO Auto-generated method stub
coT = new ConnectTwitter();
try {
TimeUnit.MILLISECONDS.sleep(3000);
coT.searchtwitter();
} catch (InstantiationException | IllegalAccessException | ClassNotFoundException | IOException
| TwitterException | SQLException | InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
MainControll类别:
TryuingRunabble r = new TryuingRunabble();
@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
start.addEventHandler(MouseEvent.MOUSE_CLICKED, (e)->{
r.run();
});
stop.addEventHandler(MouseEvent.MOUSE_CLICKED, (e)->{
Thread.currentThread().interrupt();
});
}
您需要中断运行TryuingRunabble
的Thread
:
TryuingRunabble r = new TryuingRunabble();
Thread t = new Thread(r);
@Override
public void initialize(URL location, ResourceBundle resources) {
// TODO Auto-generated method stub
start.addEventHandler(MouseEvent.MOUSE_CLICKED, (e)->{
t.start();
});
stop.addEventHandler(MouseEvent.MOUSE_CLICKED, (e)->{
t.interrupt();
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.