2014-03-04 4 views
0

JSON 개체를 서버에 보내고 응답을받는 자바 클래스를 만들었지 만 지금은이 요청을 5 번 실행하면 서버에 요청을 보낼 수 있습니다. 같은 JSON 객체로 5 번.JSON 문자열을 여러 번 보내는 방법

도와 주시겠습니까? Thread executer와 함께 가능합니까?

+0

에서 사용에 대한 더 많은 양질의 답을 얻기 위해서 몇 가지 코드를 추가합니다. – RMachnik

+0

메서드를 5 번 호출하십시오. –

+0

메서드를 5 번 호출하면 for 루프가 병렬로 수행되지 않습니다. 병렬이 필요합니다. – user3377374

답변

1

귀하의 질문에 부어 질 때문에 aswer도 매우 일반적입니다.

for(int i=0;i<5;i++){ 
    request.send(jsonObject); 
    } 

스레드를 사용하는 다른 방법. 루프 대신에 executor를 사용하도록 확장 될 수 있습니다. 다른 파일 대신 마지막 루프의

public RequestTask implements Runnable{ 
    private JsonObject o; 
    public RequestTask(JsonObject obj){ 
    this.o = obj; 

    } 
    public void run(){ 
     request.send(jsonObject); 
    } 

} 

for(int i=0;i<5;i++){ 
    Thread task = new Thread(new RequestTask(jsonObject)); 
    task.start(); 
} 

에서 :

ExecutorService executor = Executors.newFixedThreadPool(5); 
for(int i=0;i<5;i++){ 
     Thread task = new Thread(new RequestTask(jsonObject)); 
     executor.execute(task); 
    } 
    executor.awaitTermination(); 
    System.out.println("Finished all threads"); 

메인 클래스

public class ClassWithMain{ 
    public static void main(String args[]){ 
    ExecutorService executor = Executors.newFixedThreadPool(5); 
    for(int i=0;i<5;i++){ 
      Thread task = new Thread(new RequestTask(jsonObject)); 
      executor.execute(task); 
     } 
     executor.awaitTermination(); 
     System.out.println("Finished all threads"); 
    } 

} 
+0

for 루프가 하나씩 실행됩니다? 나는 어떤 스레드가 필요하다고 생각합니다. – user3377374

+0

수 있습니다 :)하지만 훨씬 더 간단 간단한 루프를 사용하고 있습니다. – RMachnik

+0

Reple을 주셔서 감사합니다. 그러나이 중 RequestTask는 무엇입니까? 내 코드는 : – user3377374

관련 문제