본문 바로가기
728x90

스레드2

스레드(thread), 멀티 스레드, 싱글 스레드 옛날 컴퓨터는 게임 하나를 다운 받기 시작하면 다운 받는 동안 키보드 마우스도 먹통이었고 브라우저에서 다른 사이트도 돌아다니지 못하는 방식이었다. 즉 단 하나의 작업만 가능했었다. 컴퓨터가 프로세스 여러 개를 함께 돌리는 멀티태스킹이 가능해지기 전까지는!! 프로그램 우리의 컴퓨터에서 실행할 수 있는 파일, 윈도우의 이름 뒤쪽에 .exe가 붙어 있는 파일들을 프로그램이라고 한다. 그리고 이런 프로그램이 실행되어 돌아가고 있는 상태를 프로세스라고 한다. 오늘날의 컴퓨터가 여러 작업을 할 수 있는 이유는 운영체제가 여러 개의 프로세스를 함께 돌릴 수 있기 때문이다. 여러 프로세스를 함께 돌리는 작업은 동시적, 병렬적 혹은 이 둘의 혼합으로 이루어진다. 프로세스 프로세스는 단순히 실행중인 프로그램이다. 사용자가.. 2023. 11. 13.
[C#] 코루틴(Coroutine) 코루틴(Coroutine)이란? 코루틴은 co+Routine이 합쳐진 단어로, '협동 루틴'이라고 한다. 게임은 크게 메인 루틴과 서브 루틴으로 나뉜다. 그 중 코루틴은 서브 루틴을 일시 정지하고 재개할 수 있는 구성 요소이다. 즉 일반적인 루틴은 단 하나의 입구점과 출구점을 가지지만 코루틴은 여러 개의 입구점과 출구점을 가질 수 있다. 이런 코루틴의 특성으로 비동기 프로그래밍에 사용되는 기술 중 하나이다. 코루틴을 사용하면 작업을 다수의 프레임에 분산할 수 있다. 대부분의 경우 메서드를 호출하면 실행을 완료한 뒤 호출한 메서드에 제어와 선택적 반환 값을 반환한다. 즉 메서드 내에서 발생한 모든 행동은 단일 프레임 업데이트 내에서 발생해야 한다. 하지만 코루틴은 실행을 일시정지하고 중단한 부분에서 다음 .. 2023. 11. 13.
반응형