# concurrency

116개의 포스트

코디네이터패턴을 동시성으로 리팩토링

스위프트의 동시성으로 좀 더 개선한 코디네이터 패턴을 알아보아씀니다~

4일 전
·
0개의 댓글
·

우선순위 역전, 시퀀스 프로토콜

동시성 프로그래밍에서 일어날 수 있는 문제인 우선순위 역전과, 시퀀스 프로토콜 보면서 좋았던 부분을 작성한 글

2023년 3월 3일
·
0개의 댓글
·
post-thumbnail

[WebSocket] synchronized 키워드 없이 사용하기

웹소켓(WebSocket)은 하나의 TCP 커넥션을 통해서 클라이언트와 서버간의 양방향 통신을 지속하게 해주는 프로토콜입니다.제가 실무에서 사용한 용례는 특정 상품의 가격 정보를 나타내는 챠트를 만드는 경우였습니다.종목의 실시간 정보 및 챠트 데이터 혹은 다른 사례로

2023년 3월 1일
·
0개의 댓글
·
post-thumbnail

동시성 프로그래밍이란?

2023년 2월 27일
·
0개의 댓글
·
post-thumbnail

[iOS][WWDC] Explore structured concurrency in Swift

🐸 어제 Async/await 세션을 보았는데요. Async 함수는 suspend 될 수 있고, suspend 되면 호출한 함수도 suspend 되기 때문에 async 키워드가 붙은 함수를 실행하려면 실행하는 함수가 비동기(Async) 이거나 Async Task

2023년 2월 15일
·
0개의 댓글
·
post-thumbnail

Concurrency(동시성) vs Parallelism(병렬성)

컨텍스트 스위칭 주의데이터 접근 동기화 주의

2023년 2월 12일
·
0개의 댓글
·
post-thumbnail

[Concurrency] Redis 이용해보기

분산 Lock을 구현할 때 대표적인 라이브러리Lettucesetnx 명령어를 활용하여 분산 Lock 구현 \- setnx: 데이터베이스에 동일한 key가 없을 경우에만 저장spin lock 방식 \- spin lock: Lock을 획득하려는 쓰레드가 획득 가능한지

2023년 2월 3일
·
0개의 댓글
·
post-thumbnail

[Concurrency] Database 이용해보기

Database를 활용하여 race condition 해결해보기실제로 데이터에 Lock을 걸어서 정확성을 맞추는 방법데이터 변경(update, delete)시에 사용되는 Lock이다. 조회, 변경유형에 관계없이 다른 트랜잭션이 변경될 데이터에 접근하는 것을 모두 차단한

2023년 2월 2일
·
0개의 댓글
·
post-thumbnail

[Concurrency] Synchronized 이용해보기

메서드 선언 부에 synchronized를 붙여주게 되면 해당 메서드는 1개의 쓰레드만 접근이 가능하게 된다.imageSpring의 @Transactional 어노테이션의 동작방식 때문이다.Spring에서는 @Transactional 어노테이션을 이용하면 우리가 만든

2023년 1월 31일
·
0개의 댓글
·
post-thumbnail

[Concurrency] 재고시스템 만들어보기

재고 시스템을 개발할 때 재고가 맞지 않는 문제가 발생할 수 있다.해당 문제를 Synchronized, Database Lock, Redis Distributed Lock을 이용하여 해결해보자mysql 설치 및 실행imagemysql 데이터베이스 생성프로젝트 세팅Sto

2023년 1월 30일
·
0개의 댓글
·
post-thumbnail

Explore structured concurrency in Swift

Swift 5.5에서 새로운 concurrency 제공한다. 구조적 프로그래밍의 장점 위에서부터 아래로 이동한다 block -> Static code이다. Static code란? 블록안에서만 정의되어있어서 안에서만 보이는 것을 말한다. lifetime도 block

2023년 1월 14일
·
0개의 댓글
·
post-thumbnail

멀티스레드 환경에서 여러 concurrent 컬렉션을 함께 사용하기

위의 코드는 맵 객체를 순회하는 중에 해당 객체를 수정하려 시도하기 때문에 ConcurrentModificationException이 발생합니다.상기의 예제는 removeIf같은 메소드를 사용하면 간단하게 해결할 수 있지만, 멀티스레드 환경에서 맵 객체를 공유자원으로

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

Realm이랑 Concurrency같이 쓰기

Swift Concurrency + Realm + SerialQueue 다 같이 써보기

2023년 1월 7일
·
1개의 댓글
·
post-thumbnail

Swift Concurrency Behind the Scenes

이야기할 것 Threading model Synchronization Threading model GCD Swift Concurrency 예시: 피드에서부터 가장 최근의 내용들을 가져오는 화면 GCD queue 사용해서 한다 유저가 최근 뉴스 보는 것을 요청한다.

2023년 1월 6일
·
0개의 댓글
·

동시성 문제 해결

pessimistic lockDB에 직접 락(lock)을 거는 방법Spring Jpa 에서 findById 대신에 @Lock 을 사용한 메서드를 사용하면 된다.제일 간편하나 Transaction이 필요하다.optimistic lockversion 처리를 하여 사용하는

2023년 1월 3일
·
0개의 댓글
·
post-thumbnail

동시성(Concurrency) vs 병렬성(Parallelism)

동시성: 각각의 독립적인 작업들을 작은 단위로 나누어 실행함으로 동시에 실행되는 것처럼 보여주는 것, 비동기 방식으로 구현 가능. 병렬성: 한 번에 여러 작업을 병렬적으로 처리, 한 순간에 여러 작업을 같이 실행하는 것

2022년 12월 27일
·
0개의 댓글
·
post-thumbnail

Concurrency & Parallelism

Concurrency와 Parallelism에 대해 간단히 정리한다.

2022년 12월 22일
·
0개의 댓글
·
post-thumbnail

Actor Model

Swift Concurrency를 보다 Actor를 알게되어 정리해본다.

2022년 12월 22일
·
0개의 댓글
·

[1]. 동시성 이슈(synchronized)

회사에서 개발 중 발생 했던.. 동시성 문제발생 했던 부분은 게시글 조회수 증가 부분과 좋아요 개수 증감에서 동시성 문제가 발생 했었다.그때 당시에 돌려막기로 어찌어찌 해결 했지만 공부가 필요하다 생각하여 블로그를 찾아봤고아주 좋은 블로그를 발견 했다.해당 블로그에서

2022년 12월 17일
·
0개의 댓글
·