코틀린 코루틴을 공부하며 정리한 글입니다.혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀코루틴 빌더코루틴 빌더에 대한 자세한 내용은 이전 포스팅을 참고해주세요!동기 / 비동기우선, 비동기에 대한 정의를 먼저 확인해보자.컴퓨터 프로그래밍에서 async/await 패턴은 비동기, 비차단 기능이 일반 동기 기능과 유사한 방식으로 구조화되도록 하는 많은 프로그래밍 언어의 구문 기능 구현이다. - (위키백과)동기와 비동기의 차이가 무엇인지 코드로 간단하게 한 번 살펴보자.suspend fun main() { val result = measureTimeMillis { doSomething1() doSomething2() } p..
코틀린 코루틴을 공부하며 정리한 글입니다.혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀코루틴 빌더중단 함수를 호출하기 위해서는 첫 게시글에서 본 것과 같이 함수 앞에 suspend를 붙여야 한다. 그 이유를 한 번 확인해보자.fun main() { funA() funB() } suspend fun funA() { println("funA") } fun funB() { println("funB") }위 코드를 작성하면 main 함수의 funA()를 호출한 부분에서 다음과 같은 에러가 발생한다.Suspend function 'funA' should be called only from a coroutine or another susp..
코틀린 코루틴을 공부하며 정리한 글입니다.혼자 공부하고 정리한 내용이며, 틀린 부분은 지적해주시면 감사드리겠습니다 😀사람들은 왜 코루틴을 사용하는 것일까? 이 글을 읽으면 그 이유에 대해 쉽게 이해할 수 있으며, 조금은 쉽게 코루틴을 이해할 수 있을 것이다. 이해를 위해 약간 극단적인 테스트를 진행해보자.🛠️ 개발 환경 및 테스트 환경테스트 환경은 코틀린 + 스프링 부트 단일 스레드로 환경에서 진행되며, 매 5초마다 서버에 요청을 보내고, 서버에서는 5.5초 뒤에 응답을 보내는 형태이다.kotlin : 1.9.24Spring Boot : 3.3.1dependencies { implementation("org.springframework.boot:spring-boot-starter-web") ..