Использование потоков для получения твитов с использованием Streaming API без ограничения скорости

Я хочу использовать потоки для потоковой передачи твитов, но я получаю ограниченную скорость. Что я делаю неправильно?

public class AppThread {

public static void main(String[] args) {
     ExecutorService executor = Executors.newFixedThreadPool(5);

        for (int i = 0; i < 5; i++) {  
            Runnable worker = new App("Thread" + i);  
            executor.execute(worker);//calling execute method of   ExecutorService  
          }  
        executor.shutdown();  
        while (!executor.isTerminated()) {   }  

        System.out.println("Finished all threads");  
}

В следующем классе другой класс (не включен) вызывается для получения твитов.

public class App implements Runnable {
private String threadName;
TwitterStream twitterStream = new     TwitterStreamFactory().getTwitterStreamInstance();
TwitterStreamWorker streamWorker = new TwitterStreamWorker();

public App(String name) {
    this.threadName = name;
}

public void appTwitter() {

    String[] queryParams = { "Delhi" };
    String[] queryLang = { "en" };
    FilterQuery filterQuery = new FilterQuery();
    FilterQuery query = filterQuery.getFilterQueryInstance(queryParams, queryLang);
    System.out.println("Query " + query);
    streamWorker.startStreamingWorker(twitterStream, query);
}

public void run() {

        System.out.println("Running thread " + threadName);
        appTwitter();
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
}

public void start() {
    // TODO Auto-generated method stub

}
}

Я также пытался использовать newSingleThreadExecutor(), но проблема остается той же.

0 ответов

Другие вопросы по тегам