본문 바로가기

스레드2

코루틴 - 코루틴 스레드 양보와 실행 스레드 스레드 양보란?코루틴이 스레드를 양보한다는 것은 어떤 뜻일까?코루틴에서 대표적으로 아래의 함수들이 스레드를 양보하는 중단함수이다.delayyieldjoinawait아래 코드를 통해 살펴보자.suspend fun main() = runBlocking { val start = System.currentTimeMillis() repeat(3) { launch { delay(1000) println("elapsed time: ${System.currentTimeMillis() - start}") } }}>> elapsed time: 1012>> elapsed time: 1021>> elapsed time: 1021위 코드는 코루틴 .. 2024. 9. 17.
프로세스와 스레드(운영체제 기본) 1. 프로세스와 스레드프로세스프로세스란 프로그램의 데이터가 메모리에 올라와 CPU 에 할당되어 실행되는 상태를 말한다.프로세스는 운영체제로 부터 자원을 할당 받는 단위이고, 프로세스는 독립적으로 메모리를 할당받는다.프로세스의 메모리 구성stack: 지역변수, 매개변수 등이 저장되는 공간으로 동적할당된다.=== 아래 영역은 스레드에 의해 공유 ===heap: 객체를 저장하는 공간으로 동적할당된다.data: static 변수와 같은 전역적인 데이터를 저장하는 공간code: .class 파일과 같은 실행될 코드를 저장하는 공간컨텍스트 스위칭을 하려면 프로세스의 실행정보를 전환해야해서 비용이 크다.스레드스레드란 프로세스가 할당 받은 자원을 바탕으로 실행의 단위가 된다.운영체제의 스케줄러에 의해 CPU 를 할당받.. 2024. 7. 29.