Razelo 기술노트

  • 홈
  • 태그
  • 방명록
  • 카카오 브런치

CoroutineDispatcher 1

[Kotlin] 코틀린 코루틴에 대한 개념 정리 (1)

최근 코틀린을 다룰 일이 있었다. 코드는 그냥 작성하면 되는데, 코루틴에 대한 개념이 좀 부족했다고 생각했다. 애매하게 알고 있는 상태에서 코루틴의 기능을 쓰는게 썩 기분이 좋진 않았다. 뭔가 찝찝했다. 그래서 이번 기회에 코루틴에 대해 시간을 갖고 천천히 알아보고자 한다. 코루틴은 기본적으로 경량 스레드라고 불린다. 왜 경량 스레드냐면, 스레드에 붙였다 뗄 수 있기 때문이다. 왜 코루틴이 필요하냐를 정리하자면, 멀티스레드 프로그래밍에서의 일부 한계점을 극복하고자함이다. 우선 싱글 스레드부터 살펴보자. 스레드가 하나이므로 단 하나의 작업만 할 수 있다. 모든 일은 순차적으로 진행된다. cpu바운드던, 네트워크 IO 작업이던 모든지 하나라서 그다지 효율적이지 않다. 그래서 등장한게 멀티스레드 프로그래밍이다..

Kotlin 2024.04.20
이전
1
다음
더보기
프로필사진

Razelo 기술노트

안녕하세요 반갑습니다. Software Engineer Razelo라고 합니다. 기술에 대한 자유로운 이야기를 하고 있습니다. Backend, Infrastructure에 관심이 많습니다. (그 외 기술과 관련된 것이라면 무엇이든 관심 많습니다.)

  • 분류 전체보기 (523)
    • 개인적인 생각 (7)
    • Career (0)
    • Dev (13)
    • Activity (4)
      • 스타트업 인턴 (4)
      • 동아리 (0)
    • Google Developer Student Cl.. (10)
      • GDSC 백엔드 스터디 (7)
      • GDSC 면접 리뷰 (2)
      • GDSC CS 스터디 (1)
    • OpenSource (1)
      • 분석 (1)
    • 기술 서적 (13)
    • 개발 정보 (58)
    • Backend (8)
      • RabbitMQ (6)
      • 관련 기술 (1)
    • Data Engineering (1)
      • Spark (0)
      • Airflow (1)
      • SQL (0)
    • Spring Framework (48)
      • Spring (8)
      • SpringBoot (40)
    • Java (79)
    • AI (11)
      • 2021 AI엔지니어 고급반 (7)
      • Deep learning (4)
    • kubernetes (1)
    • Python 3 (27)
      • Python3 (14)
      • Flask (5)
      • Django (7)
    • Linux (7)
      • System Programming (0)
    • C & C++ (37)
      • C (23)
      • C++ (14)
    • Web Tech (18)
      • javascript (17)
      • typescript (1)
    • Computer Graphics (7)
    • Servlet & Jsp (14)
    • Kotlin (6)
    • Lua (0)
    • Rust (5)
    • Go (8)
    • Blockchain (12)
    • Startup (1)
      • 스토리 (1)
    • 기술 에세이 (2)
    • Functional Programming (3)
      • Scala (0)
    • Computer Security (6)
    • Unreal Engine (4)
    • Algorithm (32)
      • 알고리즘 이론 (12)
      • 문제풀이 (20)
    • Tools (12)
      • vi (1)
      • vim (1)
      • intellij (2)
      • Visual Studio (1)
    • Database (11)
      • OracleDB (4)
      • Redis (4)
      • MySQL (3)
    • Mobile Programming (1)
      • Android (1)
      • iOS (0)
    • Cloud Engineering (14)
      • AWS (10)
      • NCP (2)
      • GCP (1)
    • Infrastructure (18)
      • Git (13)
      • Docker (4)
      • Etc.Infra (1)
    • Tech Podcast (22)
    • Operating System (3)
      • Hand-made OS (2)
      • OS concept (1)
    • Virtualization (0)

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

  • Razelo 기술노트 블로그 소개

Archives

방문자수Total

  • Today :
  • Yesterday :
brunch

Copyright © AXZ Corp. All rights reserved.

  • 브런치

티스토리툴바