728x90
- Java에서 동기 처리 & 비동기 처리 구현 방법
- OkHttp3: 동기 vs 비동기
구분 | 동기 (Synchronous) | 비동기 (Asynchronous) |
방식 | 요청 → 응답까지 대기 | 요청 후 콜백으로 처리 |
사용 메서드 | Call.execute() | Call.enqueue(callback) |
스레드 블로킹 | O (현재 스레드 대기) | X (백그라운드 처리) |
예시 용도 | 단순 요청 / 응답 흐름 | UI와 함께 동작, 비동기 로직 |
- 동기 처리 방법
Response response = client.newCall(request).execute(); // ← 이게 '동기' 호출!
- 비동기 처리 방법
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
// 네트워크 에러 처리
}
@Override
public void onResponse(Call call, Response response) throws IOException {
// 응답 성공 처리
}
});
- onResponse 파라미터 설명
객체 | 역할 |
Call | 요청 객체. 실패 시에도 이 객체 통해 어떤 요청이 실패했는지 알 수 있음 |
Response | 서버에서 반환된 응답 전체. isSuccessful()로 성공 여부 체크 가능 |
728x90