Advertisement
Guest User

Untitled

a guest
Aug 12th, 2019
171
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5 1.76 KB | None | 0 0
  1. class TestActionListener implements ActionListener{
  2.     static volatile ArrayList<String> usernames = new ArrayList<String>();
  3.     @Override
  4.     public void actionPerformed(ActionEvent e) {
  5.         System.out.println("START");
  6.         ArrayList<Integer> user_ids = new ArrayList<Integer>();
  7.        
  8.         for (int i = 100; i < 500; i++) {
  9.             user_ids.add(i);
  10.         }
  11.        
  12.         long time = System.currentTimeMillis();
  13.  
  14.         String url;
  15.         ExecutorService exec = Executors.newFixedThreadPool(4);
  16.         for (int i = 0; i < user_ids.size(); i++){
  17.             url = Main.BASE_URL + "member/" + user_ids.get(i);
  18.             try {
  19.                 usernames.add(exec.submit(new MyCallable(url)).get());
  20.             } catch (InterruptedException ex) {
  21.                 ex.printStackTrace();
  22.             } catch (ExecutionException ex) {
  23.                 ex.printStackTrace();
  24.             }
  25.         }
  26.         exec.shutdown();
  27.  
  28.         System.out.println(usernames.size());
  29.  
  30.         for (int i = 0; i < usernames.size(); i++) {
  31.             System.out.println(usernames.get(i));
  32.         }
  33.         System.out.println(System.currentTimeMillis() - time);
  34.        
  35.         System.out.println("END");
  36.  
  37.     }
  38.  
  39. }
  40.  
  41.  
  42. class MyCallable implements Callable<String> {
  43.  
  44.     private String url;
  45.  
  46.     public MyCallable(String url) {
  47.         this.url = url;
  48.     }
  49.  
  50.     @Override
  51.     public String call() {
  52.         try {
  53.             return Tesla.session.get(url)
  54.                     .execute()
  55.                     .parse()
  56.                     .getElementsByClass("username")
  57.                     .first()
  58.                     .text();
  59.         } catch (IOException e) {
  60.             e.printStackTrace();
  61.             return null;
  62.         }
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement