thread 2

[iOS] 멀티 스레드(Multi Thread) 구현 시 고려해야될 것들

안녕하세요. iOS앱을 개발하면서 멀티 스레드로 앱을 구현하다보면 예상하지도 못한 곳에서 죽는 경우를 경험해보셨을 것입니다. 그래서 이번 글에서는 멀티 스레드를 구현하면서 고려해야될 것들을 정리해보려고 합니다. 멀티스레딩이란? 여러 개의 스레드가 동시에 진행되는 것을 의미합니다. 하나의 프로세스 내에서 여러 개의 스레드가 존재하고, 스레드들이 프로세스의 자원을 공유하되 실행은 독립적으로 이루어지는 구조입니다. 멀티스레딩의 장점 1. 메모리 공간과 시스템 자원 소모가 줄어든다. 2. 프로세스간 통신 방법에 비해 스레드간의 통신 방법이 간단하다. -> 별도의 자원을 이용하는 것이 아니라 전역 변수의 공간 또는 동적으로 할당된 공간인 Heap 영역을 이용하여 데이터를 주고 받기 때문) 멀티스레딩의 단점 1. ..

iOS 2020.01.05

[Common] 프로세스(Process) vs 스레드(Thread)

# 프로세스(Process) vs 스레드(Thread) 프로세스-> 디스크로부터 메모리에 적재되어 CPU의 할당을 받을 수 있는 것을 말하며, 운영체제로 부터 자원을 할당(주소 공간, 파일, 메모리 등)받은 작업의 단위 스레드스레드는 프로세스가 할당받은 자원을 이용하는 실행의 단위를 말하며, 한 프로세스 내에서 동작되는 여러 실행 흐름으로 프로세스 내의 주소 공간이나 자원을 공유할 수 있습니다.

Common 2018.04.29