# GCD

36개의 포스트

GCD에 대해 (Thread-Safe)

앞서 멀티스레드 환경에서 동시성을 사용한다면 '공유자원' 적인 측면에서 문제가 생겨 경쟁상황이 발생할 수 있다고 언급했다. 여러 스레드가 동시에 쓰여도 한번에 한개의 스레드만 접근하도록 처리하여 안전하도록, 세마포어를 사용해서 문제를 해결했다 (DispatchSemap

2일 전
·
0개의 댓글

GCD에 대해(DispatchWorkItem, DispatchSemaphore)

Dispatch workItem GCD에 대해서 마지막으로 알아볼 것은 DispatchWorkItem이다. 멀티스레드에 작업 자체를 클레스, 객체화해서 사용할 수 있는 방법이다. 우선 코드를 살펴보자! 이처럼 원하는 DispatchQueue에 원하는 작업을 객체화

2021년 10월 15일
·
0개의 댓글

[알고리즘] 최소공배수(LCM) 최대공약수(GCD)

※ 본 사진과 해당 게시글 내용의 문제 모두 프로그래머스[Programmers]사이트에 발췌해왔습니다. 💬 들어가기 앞서.. 💢 LCM과 GCD 란? LCM (Least Common Multiple) : 최소 공배수 GCD (Greatest Common Divisor) : 최대 공배수 💢 유클리드 호제법 (Euclidean algorithm...

2021년 10월 10일
·
0개의 댓글
post-thumbnail

프로그래머스 최대공약수와 최소공배수

gcd의 공식 생각하기n과 m의 크기가 일정하지 않음으로 적절히 크기가 큰 수가 앞으로 오게 바꾸기작은 수가 0이 아닐때까지 나눈다유클리드호제법을 사용해 n, m = m,n%m 적용GCD(최대공약수)를 구한다.LCM(최소공배수)공식을 적용최대공약수와 최소 공배수를 구하

2021년 10월 5일
·
0개의 댓글
post-thumbnail

[Swift][Foundation] GCD에 대하여 (1)

iOS 앱 개발을 하면, 어느 순간 이 개념을 만나게 됩니다. 그게 언제냐면, Networking 을 통한 something을 할 떄!URLSession이 내부적으로 비동기처리를 하고 있습니다. 그리고 그 결과를 UI 업데이트를 하려고하면! 에러가 뙇! 하고 나타나는

2021년 10월 2일
·
0개의 댓글

GCD

최대공약수, 최소공배수

2021년 9월 30일
·
0개의 댓글

GCD에 대해 (DispatchGroup)

왜 DispatchGroup을 이용할까? GCD를 사용하게 되면 여러 스레드로 분산처리되어 작업을 처리하는 비동기 프로그래밍을 적용할 것이다. 이때 우리는 모든 작업이 다 끝난 시점이 필요하기 때문에 Dispatch Group을 사용한다. 예를 들어 앱의 첫 화면의

2021년 9월 29일
·
0개의 댓글

GCD에 대해 (종류, 특성)

앞서 공부했던 비동기(Async), 동기(Sync), 직렬(Serial), 병행(Concurrency)를 iOS 개발에서는 어떻게 사용할까? 바로 GCD를 통해 큐에 스레드 분배하며 이러한 개념을 적용한다. 보통 메소드 위주의 작업에 이용되고 큐를 이용하여 스레드를

2021년 9월 27일
·
0개의 댓글

번역 - Concurrent Programming With GCD in Swift 3(1/2)

어플리케이션이 있습니다. 그 응용 프로그램은 주 스레드를 얻습니다.이 주 스레드는 사용자 인터페이스에 전원을 공급하는 모든 코드를 실행하는 역할을 합니다. 응용 프로그램에 코드를 추가하기 시작하면 응용 프로그램의 성능이 상당히 크게 변경됩니다. 예를 들어, 데이터 변환

2021년 9월 27일
·
0개의 댓글

[TIP] GCD, LCM

유클리드호제법최대공약수 GCD GCD( A , B ) = GCD( B , A%B )if      A%B == 0   ->   GCD = Belse   GCD( B , A%B )최소공배수 LCMLCM = A \* B / GCD

2021년 9월 22일
·
0개의 댓글

유클리드 호제법

유클리드 호제법은 두 수의 최대공약수를 구하는 알고리즘이다.유클리드 호제법(유클리드 알고리즘)은 아래의 성질을 이용한다.두 정수 a, b (a > b) 에 대해 a를 b로 나눈 나머지를 r 이라 하면(r = a % b) a와 b의 최대공약수는 b와 r의 최대공약수와 같

2021년 9월 7일
·
0개의 댓글
post-thumbnail

[iOS] GCD (Grand Central Dispatch)

Grand Central Dispatch(GCD)예전에는 프로세서의 클럭 속도를 높이는 방식으로 연산 속도를 높였지만 전력 소비와 프로세서의 클럭 속도 증가에 한계가 있어 멀티 코어 프로세싱이 탄생하게 되었고 이러한 프로세싱에서는 멀티 프로세스에게 어떻게 프로그램의 동

2021년 9월 4일
·
0개의 댓글
post-thumbnail

GCD / LCM

A와 B의 공통된 약수 중에 가장 큰 정수를 최대 공약수라고 한다.2개의 자연수 a, b(a > b)에 대해서 a를 b로 나눈 나머지가 r일 때, a와 b의 최대공약수는 b와 r의 최대공약수와 같다.유클리드 호제법의 기본 원리는 A를 B로 나눈 나머지를 R라고 했을 때

2021년 8월 25일
·
0개의 댓글

TIL [알고리즘] GCD LCM

유클리드 호제법

2021년 8월 25일
·
0개의 댓글
post-thumbnail

[TIL-20210721] [알고리즘] Algorithm with math

A, B, C, D, E로 이뤄진 5장의 카드가 있습니다. 이 5장의 카드 중 3장을 선택하여 나열하려고 합니다. 이때, 다음의 조건을 각각 만족하는 경우를 찾아야 합니다.조건 1. 순서를 생각하며 3장을 선택합니다.조건 2. 순서를 생각하지 않고 선택합니다.조건 1을

2021년 7월 25일
·
0개의 댓글

Concurrency Problems

(앱 자체도 포함해서) 같은 process 내에 thread들은 동일한 주소공간을 공유합니다. 즉, 각각의 thread가 동시에 같은 공유 resource를 읽고 쓰려고 합니다. 주의하지않으면 여러 thread가 동시에 동일한 변수에 쓰려고 하는 경합조건(Race Co

2021년 7월 7일
·
0개의 댓글

Groups & Semaphores

DispatchQueue들을 그룹으로 묶어서, 후행 클로저 (일이 끝난다음의 처리)를 할 수 있도록 합니다.어떠한 task가 있고, group의 일부로써 task를 추적하려고 한다면, group을 dispatch queue의 async 메서드의 인수로 제공할 수 있습니

2021년 7월 7일
·
0개의 댓글

[Algorithm] 최대공약수(GCD)와 최대공배수(LCM) 구하기 : 유클리드 호제법

두 자연수의 공통된 약수 중 가장 큰 수 두 자연수의 공통된 배수 중 가장 작은 수최소 공배수 = A \* B / A와B의 최수공약수유클리드 호제법은 최대공약수를 구하는 알고리즘이다.2개의 자연수 a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b),

2021년 7월 6일
·
0개의 댓글

Introduction of GCD & Operation

C의 libdispatch의 애플 버젼clousure 단위로 task를 queue에 넣는 것이 목적가용한 자원에 따라 병렬로 실행 할 수 있다.Sync는 실행되고 있는 작업이 끝날 때까지 앱이 대기하고 현재 런루프를 차단합니다.Async는 작업을 실행한 즉시 앱으로 돌

2021년 7월 5일
·
0개의 댓글