# synchronization

20개의 포스트
post-thumbnail

[Java] 멀티 Thread 프로그래밍에서의 동기화

critical section은 두 개 이상의 Tread가 동시에 접근하는 경우 문제가 생길 수 있기 때문에 동시에 접근할 수 없는 영역이다.semaphore는 특별한 형태의 시스템 객체이며 get/release 두 개의 기능이 있다.한 순간 오직 하나의 Thread만

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

[Onboarding] : 동기화

코드를 작성하다보면 공유 자원에 여러 쓰레드가 동시에 접근하는 상황을 고려해야 할 때가 있다.예를 들어, 특정 메소드를 복수의 쓰레드가 동시에 실행하는 경우를 생각해보자. 해당 메소드에서 객체의 필드를 동시에 읽거나 쓰는 상황이 발생한다면 메소드 실행 결과가 달라질 수

2022년 7월 6일
·
0개의 댓글
·
post-thumbnail

Swift Concurrency: Behind the scenes Part. 02

앞에서는 Swift concurrency가 어떻게 동작하는지 확인했다. 이번에는 Swift concurrency를 채택할 때 주의해야 하는점, 그리고 Actor를 통한 Synchronization에 대해 알아보자.

2022년 6월 29일
·
0개의 댓글
·
post-thumbnail

[Synchronization] Semaphore

동기화(synchronization)란 상호 배제와 순서 관계를 고려한다. 자식 Thread가 먼저 실행한 다음 부모 Thread가 실행하는 코드를 구현하려고 한다. 하지만 Thread가 처리되는 순서를 예측할 수 없기 때문에 이를 처리하는 조건이 필요하다. 특정

2022년 5월 11일
·
0개의 댓글
·
post-thumbnail

자바 스레드 동기화

Java는 synchronized 키워드를 사용해 접근 제어를 한다.클래스 하나당 하나의 스레드만 접근 허용}인스턴스 하나당 하나의 스레드만 접근 허용포함된 블럭의 제어자에 따라 적용됨synchronized(this){} 는 어떤 메서드가 되었든 그 객체 전체를 loc

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

[Java] 쓰레드의 동기화(synchronization)

멀티 쓰레드 프로세스에서는 다른 쓰레드의 작업에 영향을 미칠 수 있다.진행중인 작업이 다른 쓰레드에게 간섭받지 않게 하려면, '동기화'가 필요하다.쓰레드의 동기화 : 한 쓰레드가 진행중인 작업을 다른 쓰레드가 간섭하지 못하게 막는 것동기화하려면, 간섭받지 않아야 하는

2022년 1월 24일
·
0개의 댓글
·

프로세스 동기화

프로세스들은 작업을 진행하며 서로 데이터를 주고 받아야 하는 경우가 생깁니다. 프로세스끼리 통신을 하는 경우 누가 먼저 작업할지, 언제 작업이 끝날지 등을 서로 알려주어야 하는데 이를 "동기화"라고 합니다. 프로세스 간 통신 프로세스는 시스템 내에서 독립적으로 실행되기

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

OS [OS]Process Synchronization(Problem, DeadLock and Starvation, Semaphore)

이 글은 KOCW에 공개되어있는 '반효경 교수님'의 운영체제 강의 및 강의 교재 Operation System Concepts(a.k.a 공룡책🦕)의 내용을 기반으로 작성했습니다.이번 챕터에서는 Process Synchronization에 관해 정리해보겠습니다오류가

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

TIL (21/06/16)

Java Synchronized 핵심: Method에 거는 syncronized 키워드는 해당 함수가 포함된 객체(this)에 Lock을 거는 것과 같다. #1 서로 다른 Thread로 call() 함수를 호출하지만, synchronized 키워드의 객체락으로 인해 T

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

[210507] CriticalSection(Thread Synchronization)

Thread Synchronization의 CriticalSection 사용법

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

[210506] 동기화는 왜 해야할까?

Thread를 공부하며 동기화를 하지 않을 때 Deadlock과 같은 상황에 빠지며 공부하게 됨

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

멀티 스레드 프로그래밍

자바 멀티 스레드 프로그래밍의 기본적인 내용

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

[Operating Systems] Deadlock Detection

Cyclic Deadlock Monitoring Algorithm런타임에 프로세스가 lock을 획득하고 해제하는 행동을 관찰한다.Lock Graph(N, E) (Directed Graph)스레드가 lock X를 획득하면 노드 Nx를 생성한다.스레드가 lock X를 획득

2020년 9월 24일
·
2개의 댓글
·

[Operating Systems] Deadlock & Starvation

두 개 이상의 프로세스들이 결코 일어나지 않을 사건을 위해 기다리는 상태를 교착 상태(deadlock)이라고 한다. 예를 들어, 프로세스 P1이 자원 A를 가지고 자원 B를 기다리며 프로세스 P2는 자원 B를 가지고 자원 A를 기다리는 경우가 있을 수 있다.교착 상태가

2020년 9월 24일
·
0개의 댓글
·

[Operating Systems] Synchronization

병렬성(parallelism) 과 병행성(concurrency)의 개념을 헷갈려하는 사람들이 꽤 있다. 병렬성은 멀티코어 프로세서에서 각 코어에 하나의 작업을 실행시켜 특정 시간에 두 개 이상의 작업이 실행되고 있는 것을 말한다. 반면 병행성은 싱글코어를 기준으로 여러

2020년 9월 24일
·
0개의 댓글
·
post-thumbnail

Kotlin Coroutine에서의 동기화 제어

멀티스레드 환경의 문제 race condition.jpg (↑ race condition을 설명하기에 너무나 적절한 사진.) 멀티 스레드는 어플리케이션의 퍼포먼스 측면에서 싱글 스레드에 비해 큰 이득을 가져다주지만, race condition을 적절히 제어하지 않을 경우 데이터의 손실이 발생할 수 있다. race condition이란 여러 개의 스레드...

2020년 1월 12일
·
0개의 댓글
·
post-thumbnail

Kotlin Coroutine에서의 동기화 제어

멀티스레드 환경의 문제 race condition.jpg (↑ race condition을 설명하기에 너무나 적절한 사진.) 멀티 스레드는 어플리케이션의 퍼포먼스 측면에서 싱글 스레드에 비해 큰 이득을 가져다주지만, race condition을 적절히 제어하지 않을 경우 데이터의 손실이 발생할 수 있다. race condition이란 여러 개의 스레드...

2019년 12월 21일
·
0개의 댓글
·