동기 2

동기와 비동기의 차이점은 무엇인가요?

🔄 동기(Synchronous)란?"기다릴게, 네가 끝날 때까지!"함수 A가 함수 B를 호출하고, B가 끝날 때까지 A는 멈춰 있음.즉, 순차적으로 작업이 실행됩니다.✅ 예시String data = getData(); // getData가 끝나야 다음 줄 실행System.out.println("데이터: " + data);📌 getData() 함수가 완료될 때까지 기다렸다가 다음 코드 실행됨!🚀 비동기(Asynchronous)란?"먼저 갈게! 네가 끝나면 알려줘~"함수 A가 함수 B를 호출하고 B의 결과를 기다리지 않고 자기 일을 먼저 처리합니다.결과는 콜백, Future, 이벤트 등을 통해 나중에 받습니다.✅ 예시 (Spring)@Asyncpublic void sendEmail() { // 이..

[2회 - 데일리과제] 동기와 비동기 & 프로세스와 스레드

1. 동기와 비동기 코드 실행방식에 대해 설명해보세요. 동기는 요청을 보낸 후 응답을 받아야지만 다음 동작이 이루어지는 방식이다. 어떠한 태스크를 처리할 동안 나머지 태스크는 대기한다. 실제로 cpu가 느려지는 것은 아니지만 시스템의 전체적인 효율이 저하된다고 할 수 있다. (작업을 동시에 수행, 동시에 끝남, 끝나는 동시에 시작함을 의미) 반면에 비동기는 요청을 보낸 후 응답의 수락 여부와는 상관없이 다음 태스크가 동작하는 방식이다. 자원을 효율적으로 사용할 수 있다. 이때, 비동기 요청시 응답 후 처리할 콜백 함수를 함께 알려준다. (시작, 종료가 일치하지 않으며, 끝나는 동시에 시작을 하지 않음을 의미) 하지만 비동기 처리를 위해 여러개의 콜백함수를 중첩시키면 콜백지옥이 발생한다. 이를 해결하기 위..