簡體   English   中英

JAVA:線程中斷時如何停止從API提取數據?

[英]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();

    });

}

您需要中斷運行TryuingRunabbleThread

    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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM