thread

    [C#] 멀티태스킹(Multitasking) - 1. 프로세스(process), 스레드(thread), 태스트(task) 그리고 성능모니터링

    [C#] 멀티태스킹(Multitasking) - 1. 프로세스(process), 스레드(thread), 태스트(task) 그리고 성능모니터링

    멀티태스킹은 같은 시간에 더 많은 성능 향상과 확장성 그리고 Application을 통한 사용자 생산성을 향상할 수 있는 방안을 제공해 줄 수 있습니다. 1. 프로세스(process), 스레드(thread) 그리고 태스트(task) 프로세스는 하나의 프로그램이 될 수 있습니다. 반드시 하나의 프로그램이 하나의 프로세스가 된다는 것은 아니지만(필요하다면 하나의 프로그램에서 여러 프로세스를 생성할 수 있으므로) 통상 OS 단에서는 메모리에 할당되어 현재 실행 중인 프로그램을 하나의 프로세스로 관리하고 있습니다. 스레드는 프로그램 안에서 코드를 실행하는 주체를 의미합니다. 기본적으로 하나의 프로세스는 하나의 스레드를 가지는데 이 말은 한 번에 하나씩의 코드만 실행할 수 있다는 얘기가 되므로 같은 시간에 여러 ..

    [C#] LINQ(Language INtegrated Query) - 3. comprehension syntax과 thread를 통한 응답성 향상, XML 다루기

    [C#] LINQ(Language INtegrated Query) - 3. comprehension syntax과 thread를 통한 응답성 향상, XML 다루기

    3. LINQ query comprehension syntax C# 3.0 때 마이크로소프트는 SQL과 같은 쿼리 구문을 LINQ 쿼리문으로 작성하는 방법을 토대로 개발자들이 더 익숙하게 LINQ구문을 작성하도록 하는 몇 가지 키워드를 소개했습니다. 예를 들어 다음과 같이 특정 Item을 필터링하는 메서드를 사용한 경우 using (Northwind db = new()) { var result = db.Products.Where(x => x.ProductId == 3).SingleOrDefault(); Console.WriteLine(result.ProductName); } query comprehension 구문을 통해 위와 같은 동작을 수행할 수 있습니다. using (Northwind db = ne..

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

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

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

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

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

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

    [Kotlin] 위젯 - CheckBox, ProgressBar

    [Kotlin] 위젯 - CheckBox, ProgressBar

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