Thread

Java & Spring

🙌 쓰레드풀을 이용해 두 비동기 작업 처리 완료 후 후속 처리하기

전체 코드는 여기에서 확인하실 수 있습니다 :) 두 곳에 Ajax 요청을 보낸 뒤, 결과를 취합해 후속 작업을 해야 한다면? 언제 처리가 완료될지 정확히 알 수 없는 두 가지 작업이 있고, 그 작업들이 모두 완료된 이후에 취합하여 후속작업을 처리해야 한다고 가정해보겠습니다. 가령 서비스 레이어에서 두 곳의 엔드포인트에 요청을 보내고, 응답 값을 취합해서 결과에 따른 분기처리가 필요한 상황이라고 생각해볼 수 있을 것 같아요. 요청한 클라이언트에게 즉시 결과를 응답해야 한다면 두 요청을 쓰레드 풀 작업 큐에 넣고, 두 Future 객체의 get() 메서드를 이용해 기다린 후 응답한다 이 방법의 장점은 하나의 요청이 응답될 때까지 기다렸다가 다음 요청이 나가는 것이 아니라, 동시에 두 가지 요청이 호출된다는 ..

Java & Spring

🥄 쓰레드풀 한 스푼

쓰레드라는 키워드는 정말 무수히 뻗어나가는 가지를 지닌 나무 같습니다. 무수히 많은 가지만큼, 아래로 뻗어있는 뿌리도 아주 깊고 넓습니다. 서버 성능 측정 및 튜닝 관련하여 쓰레드풀, 커넥션풀 등의 키워드가 떠오르고 CPU의 쓰레드, OS의 쓰레드까지 하나의 단어가 여러 맥락에서 사용되기도 하고.. 결국 한 스푼 한 스푼 떠먹는 수밖에 없는 것 같습니다! 조금씩 조금씩 쌓아가보죠~! 쓰레드 풀(Thread Pool)이란? 쓰레드 풀은 제한된 수 만큼의 쓰레드를 미리 생성해두는 곳을 말합니다. 이를 통해 아래와 같은 장점을 취할 수 있습니다. 향후 새로운 처리를 위해 스레드 생성 비용을 매번 발생시키지 않게 된다 스레드의 과도한 증폭으로 인한 CPU, 메모리 사용에 따른 성능 저하를 방지한다 요청이 많아져..

Java & Spring

2020.05.12 (화) 학습 : Oracle 시작, Thread, isFocusOwner(), JLabel

1. db진도 시작 오라클 데이터베이스를 시작했다. 기존 ArrayList로 임시 데이터 값을 클래스 안에 담아서 프로토 타입으로 만들어뒀던 과정들을 db에 접속해서 진행하는 것으로 바꿨다. 2. ArrayList에서 db로 전환 db사용하는 것이 생각보다 쉬워서 나름 프로토 타입으로 활용했던 ArrayList용으로 만들어뒀던 모든 기능들을 db용으로 전환하는데 많은 에너지나 시간이 소요되지 않았다. public void emailVerifier() { //1. 공백 검증 if(inputEmail.getText() == null || inputEmail.getText().length() == 0) { emailV.setText(""); return; } //2. 형식 검증 if(!isValidEmail(..

리차드
'Thread' 태그의 글 목록