소개

완료됨

Go에서 동시성 작업이 뛰어나다는 것을 들었을 것입니다. 아마도 Docker, Kubernetes 및 Terraform 같은 소프트웨어를 작성할 때 Go를 가장 많이 사용되는 이유가 이 기능 때문일 것입니다.

Go에서 동시성이 작동하는 방식에 대해 알아보기 전에 다른 프로그래밍 언어에서 알고 있는 내용은 잊어야 할 것입니다. Go는 다른 접근 방식을 사용합니다.

현재 여러분은 동시성과 같이 보다 높은 수준의 항목을 다루는 데 필요한 지식을 갖고 있습니다. 그렇지만 동시성이 필요한 이유를 먼저 생각해보겠습니다. 다양한 항목을 조금씩 소개하겠습니다.

모든 샘플 코드를 연습하고, 개념을 완전히 숙지하기 전까지는 진도를 나가지 않는 것이 좋습니다. 이전 모듈과 마찬가지로 개념을 보다 잘 이해하려면 연습을 해야 합니다.

이 모듈에서 학습할 내용을 살펴보겠습니다.

학습 목표

이 모듈에서는 다음에 대해 알아봅니다.

  • Go에서 동시성이 작동하는 방법
  • 동시성과 병렬 처리의 차이
  • 채널을 사용하여 동시 프로그램에서 통신이 작동하는 방식
  • 동시성을 구현하여 더 빠르게 실행되는 프로그램을 작성하는 방법
  • 제한된 수의 동시 호출을 시작해야 할 경우 버퍼를 사용하여 동시성을 활용할 수 있는 동적 프로그램을 작성하는 방법

사전 요구 사항

  • 애플리케이션을 만들 준비가 된 Go 환경. 가급적이면 Go를 로컬에 설치하고 구성해야 하며 Visual Studio CodeGo 확장과 함께 설치해야 합니다.
  • .go 파일의 생성 및 수정이 가능한 수준의 역량
  • 터미널 프롬프트를 사용하여 Go 애플리케이션을 실행할 수 있는 수준의 역량
  • string, int, boolean 같은 기본 데이터 형식에 대한 지식
  • iffor 문과 같은 기본적인 데이터 제어 흐름을 작성하는 방법에 대한 지식
  • 함수를 작성하는 방법에 대한 지식
  • net/http와 같은 라이브러리를 사용하는 방법에 대한 지식