[Go] Context

곽태민·2023년 3월 24일
0

Context


❓Context란?

💡 작업을 지시할 때 작업 가능 시간, 작업 취소 등의 조건을 지시할 수 있는 작업 명세서 역할을 한다. 그리고 새로운 고루틴 작업을 시작할 때 일정 시간 동안만 작업을 지시하거나 외부에서 작업을 취소할 때 사용한다.

Context가 하는 일

  • 프로그램 내부에서 Context를 넘겨주는 개념이다.
  • 넘겨주는 것들은 TimeOut, DeadLine, Channel을 통한 실행을 멈추도록 하는 것 등이 있다.
    • 특정 서버에 요청을 보내는데 Production Level에서는 적절한 TimeOut을 설정해 주는 것이 좋다.
    • 특정 호출 때문에 서버가 느려지면서 다른 영역에도 손해가 발생할 수 있기 때문이다.
    • BUT! TimeOut이나 DeadLine Context가 매우 쉽게 예방을 할 수 있다.

⌨️ Context 생성

context package는 context 생성을 위한 다양한 함수를 제공한다.

context.Background() ctx Context => create context

highest level ( root of all derived context )

위 함수를 실행을 하면 비어있는 context 값을 얻을 수 있다. 또한 이 것을 사용하여 다른 context도 얻을 수 있다.

ctx, cancel := context.Background()
profile
Node.js 백엔드 개발자입니다!

0개의 댓글