[英]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.