thread

thread

    [C#] Thread(스레드)와 Task(태스크)

    1. 프로세스와 스레드 프로세스라 함은 실행파일이 실행되어 실행파일과 관련된 모든 데이터가 메모리에 적재되어 실행되는 상태를 말합니다. 프로세스는 자신만의 스레드를 가질 수 있으며 이 스레드로 프로그램에 필요한 동작을 수행합니다. 따라서 프로세스는 반드시 하나이상의 스레드를 가지며 스레드는 CPU가 프로그램 실행을 위해 시간을 할애하는 기본 단위가 됩니다. 프로그램이 내부에 여러작업을 수행해야 하는 경우라면 스레드를 여러 개 사용하는 '멀티스레드'를 구현합니다. 예를 들어 문서편집기 프로그램의 경우 사용자가 문서를 작성하고 있으면 주기적으로 자동 저장을 해야 할 때 문서작성용 스레드와 자동 저장을 수행하는 스레드가 각각 필요할 것입니다. 시간이 오래 걸리는 계산 작업을 수행하는 경우에도 사용자가 중간에 ..

    [Kotlin] 프로세스(Process)와 스레드(Thread)

    하나의 프로세스는 하나의 실행 중인 프로그램에 해당합니다. 프로세스 내부에서는 스레드가 프로그램의 명령을 실행시키게 되는데 필요한 경우 여러 스레드를 통해 명령어를 수행시키는 다중 스레드를 가질 수 있습니다. 프로세스는 각각의 독립된 메모리 공간을 할당받지만 스레드는 하나의 프로세스 안에서 동작하므로 프로세스가 차지하는 메모리를 서로 공유할 수 있습니다. Android에서도 실행되는 하나의 앱을 개별적인 프로세스로 취급해 실행하고 이 프로세스 역시 내부 명령어를 실행시키는 스레드를 가질 수 있습니다. 1. 스레드 프로세스는 기본적으로 하나의 스레드를 가집니다. 이 스레드는 메인스레드로서 화면에 UI를 구성하고 사용자와 UI 간 이벤트 처리를 담당하는 것이 주 목적인 스레드입니다. 그런데 이 메인 스레드만..

    [Kotlin] 위젯 - CheckBox, ProgressBar

    1. CheckBox CheckBox는 여러 개의 선택사항을 사용자에게 제공한다는 측면에서 RadioButton과 동일하지만 여러 개를 동시에 선택할 수 있다는 점이 다릅니다. 별도로 언급하지는 않겠지만 ToggleButton이나 Switch도 생긴 모양에 따라 용도에 맞게 끔 사용하면 될 뿐 특별히 달라질 건 없습니다. 이는 같은 CompoundButton에서 상속받아 만들어진 위젯이기에 가능한 일인데 아래 설명에서는 CheckBox위주로 설명이 이루어지지만 기본개념과 사용방법은 같으므로 참고하시기 바랍니다. 위에서 처럼 CheckBox를 배치한뒤 각각의 속성에서 ID는 chkAir, chkShip, chkCar로 변경하고 Text를 비행기, 배, 자동차로 변경합니다. 이제 CheckBox의 체크상태 ..